Java API:Composite Objects

From LongJump Support Wiki
Revision as of 01:28, 9 November 2010 by imported>Aeric
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

A Composite Object consists of multiple related objects, as defined by the Object Relationships. These APIs let you work with a composite object as a single entity.

Learn More: Working with Composite Objects

getRecordCount

Gets a count of records in a Composite Object that match specified filtering criteria.

Syntax
int count = Functions.getRecordCount(String objectName, String criteria);
Parameters
objectName
The object name or identifier
criteria
A filter expression that specifies records to select, where a field name of the form alias[.alias...].* or alias[.alias...].field indicates a Composite Object search.
Returns
An integer containing a count of records that match the selection criteria.

getRecord

Get a record, with specified fields.

Syntax
Result result = Functions.getRecord(String objectName, String fields, String recordID 
                  {, Parameters params} );
Parameters
objectName
An Object Identifier
fields
The fields to retrieve.
  • A comma-separated list of field names, where a field name of the form alias[.alias...].* or alias[.alias...].field indicates a Composite Object fetch
  • The asterisk ("*") wildcard specifies all fields
(Use the REST API:field Resource to get a complete list of fields.)
  • Field lists for database views need to specify the object's alias, as well as the field name.
recordID
A Record Id.
params
An optional com.platform.api.Parameters object. Use it to specify the Retrieve Record Permissions Parameter, in order to find out if the user has update or delete permissions on the record.
Return
Result object. If the return code is greater than zero, use the getParameters() method to get a Parameters object with the record's fields.
For a relationship alias, the value returned is an ArrayList of Result objects, where each item in the list is a related record, and the Result object contains the fields in that record.

searchRecords

Search and retrieve the records for an object.

Syntax

Result result;
result = Functions.searchRecords (String objectName, String fields, String criteria 
                                    {, Parameters params} );

result = Functions.searchRecords (String objectName, String fields, String criteria,
                                  String sortBy, String sortOrder, 
                                  String sortBy2, String sortOrder2, 
                                  int offset, int numberOfRows {, Parameters params} );

Parameters

objectName
The object name or identifier.
fields
The fields to retrieve.
  • A comma-separated list of field names, where a field name of the form alias[.alias...].* or alias[.alias...].field indicates a Composite Object fetch
  • The asterisk ("*") wildcard specifies all fields
(Use the REST API:field Resource to get a complete list of fields.)
  • Field lists for database views need to specify the object's alias, as well as the field name.
criteria
A filter expression that specifies records to select, where field names of the form alias[.alias...].* or alias[.alias...].field are used to specify related-object fields in a Composite Object.
sortBy
Sort the search results on the specified field. Use field names of the form alias[.alias...].* or alias[.alias...].field for related-object fields in a Composite Object.
sortOrder
Specify if the sort order is ascending ("asc") or descending ("desc"). Not case sensitive. The default is ascending.
sortBy2
Do a secondary sort on the specified field. Use field names of the form alias[.alias...].* or alias[.alias...].field for related-object fields in a Composite Object.
sortOrder2
Specify if the sort order on the second level is ascending ("asc") or descending ("desc"). Not case sensitive. The default is ascending.
offset
The maximum number of records that you can retrieve in a single call to searchRecords is 5,000. If you need to retrieve more than 5,000 records, you must set up a loop where you do paging by incrementing the offset parameter.
For example, if you need to retrieve 25,000 records, you need to set the offset parameter to zero (0) and the numberOfRows parameter to 5,000 on the first pass to get records 1-5000. Then, on the second pass, you set offset to 1 to get records 5001-10,000, and so on. In other words, you multiply offset by numberOfRows and add one to determine the number of the first record retrieved at each pass.
numberOfRows
The maximum number of records to return
params
An optional com.platform.api.Parameters object. Use it to specify the Retrieve Record Permissions Parameter, in order to find out if the user has update or delete permissions on the records.

Returns

Result object. If the return code is greater than zero, use the Result_Class#getIterator method to cycle through the list of Parameters objects it contains, one per record.

Learn More