Difference between revisions of "Java API"
imported>Aeric |
imported>Aeric Β |
||
(111 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<noinclude>__NUMBEREDHEADINGS__</noinclude>The Java API is a set of built-in calls that are made to programmatically customize and extend the platform. Β | <noinclude>__NUMBEREDHEADINGS__</noinclude>The Java API is a set of built-in calls that are made to programmatically customize and extend the platform. Β | ||
Β | __TOC__ | ||
== About the Java API == | |||
The following platform elements provide the ability to make Java API calls from the user interface (UI): | The following platform elements provide the ability to make Java API calls from the user interface (UI): | ||
:*Standard Java [[Classes|classes]], to create custom business logic that models your organization's environment | :*Standard Java [[Classes|classes]], to create custom business logic that models your organization's environment | ||
:*[[ | :* JSP [[Pages]], which can invoke Java APIs | ||
Β | |||
== Prerequisites == | |||
Β | |||
You must know the Java programming language to make the Java API calls. This includes knowing the basic elements of Java such as conditional structures (if statement), looping structures (while and for loop statements), variable declaration and assignment, use of operators, variable naming conventions, debugging techniques, and so on. | |||
:''Learn more: Β | :''Learn more about the platform:'' | ||
::* | ::* [[Getting Started with the Java API]] | ||
::* [[Developer_Suite#Java_Code|Java Code in the Developer Suite]] | ::* [[Java Code Samples]] | ||
::* [[Java API Cheatsheet]] | |||
::* [[System Object Types]] | |||
::* [[Developer_Suite#Java_Code|Java Code in the Developer Suite]] | |||
::* Java API [{{DOCHOST}}/javadocs javadocs] | |||
:''Learn more about web services and programming:'' | |||
::* [http://en.wikipedia.org/wiki/Java_programming_language Java Programming Language] | |||
::* [http://java.sun.com/docs/books/tutorial/java/concepts/index.html Java Tutorial] | |||
==Classes, Objects, and APIs== | |||
This table lists the APIs and links to detail pages. For a quick synopsis of syntax, see the [[Java API Cheatsheet]]. | |||
Β | |||
===Record Handling=== | |||
====Objects==== | |||
:Handle records in standard [[Objects]]: | |||
::* [[Java API:Record_Handling#addRecord|<tt>addRecord</tt>]] | |||
::* [[Java API:Record_Handling#updateRecord|<tt>updateRecord</tt>]] | |||
::* [[Java_API:Record_Handling#changeOwnerShipInfo|<tt>changeOwnerShipInfo</tt>]] | |||
::* [[Java API:Record_Handling#deleteRecord|<tt>deleteRecord</tt>]] | |||
::* [[Java API:Record_Handling#getRecord|<tt>getRecord</tt>]] | |||
::* [[Java API:Record_Handling#getRecordCount|<tt>getRecordCount</tt>]] | |||
::* [[Java API:Record_Handling#searchRecords|<tt>searchRecords</tt>]] | |||
::* [[Java API:Record_Handling#replaceTemplateVariables|<tt>replaceTemplateVariables</tt>]] | |||
::* [[Java API:Record_Handling#execSQL|<tt>execSQL</tt>]] | |||
Β | |||
:''Learn more:'' [[Java_API:Record_Handling]] | |||
Β | |||
====Composite Objects==== | |||
:Operate on records in [[Composite Object]]s: | |||
::* [[Java API:Composite Objects#getRecordCount|<tt>getRecordCount</tt>]] | |||
::* [[Java API:Composite Objects#getRecord|<tt>getRecord</tt>]] | |||
::* [[Java API:Composite Objects#searchRecords|<tt>searchRecords</tt>]] | |||
Β | |||
:''Learn more:'' [[Working with Composite Objects]] | |||
== | ====Tenant Data Sharing==== | ||
:Handle records in Objects shared using [[Tenant Data Sharing Policies]]: | |||
::* [[Tenant_Data_Sharing_Policies#addRecord|<tt>addRecord</tt>]] | |||
::* [[Tenant_Data_Sharing_Policies#updateRecord|<tt>updateRecord</tt>]] | |||
::* [[Tenant_Data_Sharing_Policies#deleteRecord|<tt>deleteRecord</tt>]] | |||
* [[ | |||
* [[ | |||
* [[ | |||
<!--FUTURE | <!--FUTURE | ||
* [[ | ::* [[Tenant_Data_Sharing_Policies#getRecordCount|<tt>getRecordCount</tt>]] | ||
--> | --> | ||
* [[ | ::* [[Tenant_Data_Sharing_Policies#searchRecords|<tt>searchRecords</tt>]] | ||
* [[ | ::* [[Tenant_Data_Sharing_Policies#getRecord|<tt>getRecord</tt>]] | ||
:''Learn more:'' [[Tenant_Data_Sharing_Policies#Using the JAVA API to Access Shared Data]] | |||
====Data Import==== | |||
:Import CSV data into [[Object]]s | |||
::* [[Java_API:Data Import#getMappingProfiles|<tt>getMappingProfiles</tt>]] | |||
::* [[Java_API:Data Import#importData|<tt>importData</tt>]] | |||
* [[ | ::* <tt>[[getImportStatus]]</tt> | ||
* [[ | |||
* | |||
:''Learn more:'' [[Java_API:Data Import]] | |||
Β | |||
===Email=== | |||
:* [[Java API:Email#sendEmail|<tt>sendEmail</tt>]] | |||
* [[ | :* [[Java API:Email#sendEmailUsingTemplate|<tt>sendEmailUsingTemplate</tt>]] | ||
* [[ | |||
===Document Management=== | |||
:* [[Java API:Document Management#generateDocument|<tt>generateDocument</tt>]] | |||
:* [[Java API:Document Management#getDocument|<tt>getDocument</tt>]] | |||
:* [[Java API:Document Management#Example: Generate an Attachment|Example: Generate an Attachment]] | |||
* [[ | |||
* [[ | |||
===Transaction Management=== | |||
Provides the ability to Rollback transactions to a SavePoint | Provides the ability to Rollback transactions to a SavePoint | ||
:*[[Java_API:Transaction_Management#addSavePoint|<tt>addSavePoint</tt>]] | |||
*[[Java_API:Transaction_Management#addSavePoint|<tt>addSavePoint</tt>]] | :*[[Java_API:Transaction_Management#doesSavePointExist|<tt>doesSavePointExist</tt>]] | ||
*[[Java_API:Transaction_Management# | :*[[Java_API:Transaction_Management#getAllSavePoints|<tt>getAllSavePoints</tt>]] | ||
*[[Java_API:Transaction_Management# | :*[[Java_API:Transaction_Management#rollback|<tt>rollback</tt>]] | ||
*[[Java_API:Transaction_Management#rollback|<tt>rollback</tt>]] | :*[[Java_API:Transaction_Management#rollbackToSavePoint|<tt>rollbackToSavePoint</tt>]] | ||
*[[Java_API:Transaction_Management# | :*[[Java_API:Transaction_Management#removeSavePoint|<tt>removeSavePoint</tt>]] | ||
*[[Java_API:Transaction_Management# | Β | ||
:''Learn more:'' [[Java_API:Transaction_Management]] | |||
Β | |||
Use these support classes and objects when you work with the Java API | ===Support Classes and Objects=== | ||
Use these support classes and objects when you work with the Java API. | |||
* [[Java_API:Support_Classes_and_Objects#HttpConnection_Class|<tt>HttpConnection</tt> class]] | :* [{{DOCHOST}}/javadocs/com/platform/api/Functions.html Functions] class | ||
* [[Java_API:Support_Classes_and_Objects#Parameters_Class|<tt>Parameters</tt> class]] | :* [{{DOCHOST}}/javadocs/com/platform/api/Logger.html Logger] class | ||
* [[Java_API:Support_Classes_and_Objects#ParametersIterator_Class|<tt>ParametersIterator</tt> class]] | ::<hr width="200px"> | ||
* [[Java_API:Support_Classes_and_Objects#Result_Class|<tt>Result</tt> class]] | :* [[Java_API:Support_Classes_and_Objects#HttpConnection_Class|<tt>HttpConnection</tt> class]] | ||
* [[Java_API:Support_Classes_and_Objects#SearchContext_Class|<tt>SearchContext</tt> class]] | :* [[Java_API:Support_Classes_and_Objects#Parameters_Class|<tt>Parameters</tt> class]] | ||
<hr> | :* [[Java_API:Support_Classes_and_Objects#ParametersIterator_Class|<tt>ParametersIterator</tt> class]] | ||
* [[Java_API:Support_Classes_and_Objects# | :* [[Java_API:Support_Classes_and_Objects#Result_Class|<tt>Result</tt> class]] | ||
* [[Java_API:Support_Classes_and_Objects# | :* [[Java_API:Support_Classes_and_Objects#SearchContext_Class|<tt>SearchContext</tt> class]] | ||
::<hr width="200px"> | |||
* [ | :* [[Java_API:Support_Classes_and_Objects#request_Object|<tt>request</tt> object]] - used in [[Pages]] | ||
:* [[Java_API:Support_Classes_and_Objects#TenantContext_Object|<tt>TenantContext Object</tt>]] | |||
Β | |||
:''Learn more:'' [[Java_API:Support_Classes_and_Objects]] | |||
Β | |||
* [ | ===<span id="localization">Localization Functions</span>=== | ||
* [ | Use these functions to convert between [[Database Format]]s and localized [[User Format]]s. | ||
* [ | :* [{{DOCHOST}}/javadocs/com/platform/api/Functions.html#formatCurrency(java.lang.String,%20int) <tt>formatCurrency</tt>] | ||
* [ | :* [{{DOCHOST}}/javadocs/com/platform/api/Functions.html#formatDate(java.util.Date) <tt>formatDate</tt>] | ||
* [ | :* [{{DOCHOST}}/javadocs/com/platform/api/Functions.html#formatDateTime(java.util.Date) <tt>formatDateTime</tt>] | ||
* [ | :* [{{DOCHOST}}/javadocs/com/platform/api/Functions.html#formatNumber(java.lang.String,%20int) <tt>formatNumber</tt>] | ||
* [ | :* [{{DOCHOST}}/javadocs/com/platform/api/Functions.html#formatPercent(java.lang.String,%20int) <tt>formatPercent</tt>] | ||
* [ | :* [{{DOCHOST}}/javadocs/com/platform/api/Functions.html#formatTime(java.util.Date) <tt>formatTime</tt>] | ||
* [ | :* [{{DOCHOST}}/javadocs/com/platform/api/Functions.html#parseCurrency(java.lang.String) <tt>parseCurrency</tt>] | ||
* [ | :* [{{DOCHOST}}/javadocs/com/platform/api/Functions.html#parseNumber(java.lang.String) <tt>parseNumber</tt>] | ||
* [ | :* [{{DOCHOST}}/javadocs/com/platform/api/Functions.html#parsePercent(java.lang.String) <tt>parsePercent</tt>] | ||
:* [{{DOCHOST}}/javadocs/com/platform/api/Functions.html#validateCurrency(java.lang.String) <tt>validateCurrency</tt>] | |||
:* [{{DOCHOST}}/javadocs/com/platform/api/Functions.html#validateNumber(java.lang.String) <tt>validateNumber</tt>] | |||
:* [{{DOCHOST}}/javadocs/com/platform/api/Functions.html#validatePercent(java.lang.String) <tt>validatePercent</tt>] | |||
Β | |||
:''Learn more:'' [[Localization]] | |||
===Utility Functions=== | |||
====Logger functions==== | |||
:* [[Java_API:Utility functions#Logger functions|<tt>info</tt>]] | |||
:* [[Java_API:Utility functions#Logger functions|<tt>warn</tt>]] | |||
*[[Java_API: | :* [[Java_API:Utility functions#Logger functions|<tt>error</tt>]] | ||
*[[Java_API: | :* [[Java_API:Utility functions#Logger functions|<tt>fatal</tt>]] | ||
*[[Java_API: | |||
*[[Java_API: | |||
====Service Configuration Functions==== | |||
:* [{{DOCHOST}}/javadocs/com/platform/api/utility/ServiceConfiguration.html#getServiceName()<tt>getServiceName</tt>] | |||
:* [{{DOCHOST}}/javadocs/com/platform/api/utility/ServiceConfiguration.html#getServiceDomainURL()<tt>getServiceDomainURL</tt>] | |||
*[ | |||
| | ====General Purpose Functions==== | ||
:* [[Java_API:Utility functions#getEnv|<tt>getEnv</tt>]] | |||
:* [[Java_API:Utility functions#getLoggedInUserInfo|<tt>getLoggedInUserInfo</tt>]] | |||
:* [[Java_API:Utility functions#getParametersInstance|<tt>getParametersInstance</tt>]] | |||
:* [[Java_API:Utility functions#getTimezonesUtility|<tt>getTimezonesUtility</tt>]] | |||
:* [[Java_API:Utility functions#getTimezoneUtility|<tt>getTimezoneUtility</tt>]] | |||
:* [[Java_API:Utility functions#showMessage |<tt>showMessage</tt>]] | |||
:* [[Java_API:Utility functions#sleep |<tt>sleep</tt>]] | |||
:* [[Java_API:Utility functions#setTargetPage |<tt>setTargetPage </tt>]] | |||
:* [[Java_API:Utility functions#throwError|<tt>throwError</tt>]] | |||
:* [[Java_API:Utility functions#translateToken|<tt>translateToken</tt>]] | |||
:''Learn more:'' [[Java API:Utility functions]] | |||
===Customization APIs=== | |||
Use these [[Provisional]] APIs give to manage metadata for program entities. | |||
:*[[Java_API:Customize#Object_Metadata|Object Metadata]] | |||
:*[[Java_API:Customize#Field_Metadata|Field Metadata]] | |||
:*:*[[Java_API:Enumerated_Fields|Enumerated Fields]] | |||
:*:*[[Java_API:Global_Picklists|Global Picklists]] | |||
<!--:*[[Java_API:Customize#Form_Metadata|Form Metadata]]--> | |||
Β | |||
:''Learn more:'' [[Java_API:Customize|Customize]] | |||
Β | |||
===Status=== | |||
Check status of scheduled jobs. | |||
:*[[getStatus]] | |||
:''Learn more:'' [[getStatus]] | |||
Learn more | |||
==Finding Identifiers == | |||
===Object ID=== | |||
{{:Object Type Identifier}} | |||
===Record ID=== | |||
Each record has a unique ID, needed to access and update data. The Record Identifier can appear as: <tt>id,Β record_id, or recordId</tt>, depending on the tool. (Most often it appears as the <tt>id</tt> field to programmers.) | |||
:''Learn more:'' [[Record ID]] | |||
===Session ID=== | |||
{{:Session Identifier}} | |||
===Commonly Used Constants=== | |||
{{:Commonly Used Constants}} | |||
<noinclude> | <noinclude> | ||
[[Category:Java API|1 (Intro & Overview)]] | [[Category:Java API|1 (Intro & Overview)]] | ||
</noinclude> | </noinclude> |
Latest revision as of 20:41, 3 October 2014
The Java API is a set of built-in calls that are made to programmatically customize and extend the platform.
1 About the Java API
The following platform elements provide the ability to make Java API calls from the user interface (UI):
2 Prerequisites
You must know the Java programming language to make the Java API calls. This includes knowing the basic elements of Java such as conditional structures (if statement), looping structures (while and for loop statements), variable declaration and assignment, use of operators, variable naming conventions, debugging techniques, and so on.
- Learn more about the platform:
- Learn more about web services and programming:
3 Classes, Objects, and APIs
This table lists the APIs and links to detail pages. For a quick synopsis of syntax, see the Java API Cheatsheet.
3.1 Record Handling
3.1.1 Objects
- Handle records in standard Objects:
- Learn more: Java_API:Record_Handling
3.1.2 Composite Objects
- Operate on records in Composite Objects:
- Learn more: Working with Composite Objects
3.1.3 Tenant Data Sharing
- Handle records in Objects shared using Tenant Data Sharing Policies:
3.1.4 Data Import
- Import CSV data into Objects
- Learn more: Java_API:Data Import
3.2 Email
3.3 Document Management
3.4 Transaction Management
Provides the ability to Rollback transactions to a SavePoint
- Learn more: Java_API:Transaction_Management
3.5 Support Classes and Objects
Use these support classes and objects when you work with the Java API.
-
- request object - used in Pages
- TenantContext Object
- Learn more: Java_API:Support_Classes_and_Objects
3.6 Localization Functions
Use these functions to convert between Database Formats and localized User Formats.
- Learn more: Localization
3.7 Utility Functions
3.7.1 Logger functions
3.7.2 Service Configuration Functions
3.7.3 General Purpose Functions
- Learn more: Java API:Utility functions
3.8 Customization APIs
Use these Provisional APIs give to manage metadata for program entities.
- Learn more: Customize
3.9 Status
Check status of scheduled jobs.
- Learn more: getStatus
4 Finding Identifiers
4.1 Object ID
An object type identifier uniquely identifies an object type. It is used to specify object types in APIs.
There are two kinds of type identifiers:
- objectName: This identifier is a human-readable name for both System Objects and Custom Objects.
- objectID: This identifier is a human-readable name for System Objects (e.g. "cases"), but for Custom Objects, it is a computer-generated string with no humanly-interpretable semantic value (e.g. 123qwe456rty).
- See also:
- Session Identifier - session identifier
- Record Id - record id
To find an object type identifier:
- Click > Customization > Objects
- In the Display Title column, find the object you're looking for.
- The Object Name column has the identifier you need.
Alternatively:
- Go to > Customization > Objects > {object}
- Click Properties
- The object name appears at the top of the page
Note:
- For objects that are not listed, see the System Objects page.
- The Object Name is typically used as the identifier, because it is human-readable for both System Objects and Custom Objects. Object ID can be used, as well, but it is human-readable only for System Objects.
4.2 Record ID
Each record has a unique ID, needed to access and update data. The Record Identifier can appear as: id, record_id, or recordId, depending on the tool. (Most often it appears as the id field to programmers.)
- Learn more: Record ID
4.3 Session ID
The Session Identifier (session_id or sessionId) is used in HTTP communications to identify a series of related message exchanges, or "sessions".
- Learn more: session identifier
4.4 Commonly Used Constants
Constants are defined in the CONSTANTS class. On that page, follow the links in the Nested Class Summary for a complete guide to AgileApps Cloud platform constants. For convenience, some of the more common constants used in the Java APIs are listed here.
4.4.1 Documents
Constant Name Description Used in function CONSTANTS.DOCUMENT.HTML HTML format generateDocument CONSTANTS.DOCUMENT.PDF PDF format generateDocument 4.4.2 Search
Constant Name Description Used in function CONSTANTS.SEARCH.SORT_ASCENDING Ascending order searchRecords CONSTANTS.SEARCH.SORT_DESCENDING Descending order searchRecords 4.4.3 HttpConnection
Constant Name Description Used in function CONSTANTS.HTTP. METHOD.GET HTTP GET request HttpConnection Constructor CONSTANTS.HTTP. METHOD.POST HTTP POST request HttpConnection Constructor 4.4.4 Request Parameter
Constant Name Description Used in ... ... ... CONSTANTS.SEARCH.SEARCH_RESULTS Retrieve search results