Java API:Composite Objects
From LongJump Support Wiki
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.