Understanding the primary activities of the pagination feature

The following section provides an overview of the primary activities of the pagination feature.

A visual representation of the activity flow for the Pagination feature.
  1. The user sends a request XML for getAll or Search transactions with pagination parameters. Pagination parameters are explained in the Understanding pagination parameters section.
  2. When the control reaches the Controller class handling the request, the Metadata of the transaction is checked to find the response BObj names for the transaction.
  3. The Controller sets the vector of response BObj names on the DWLControl object.
  4. The Controller then calls the corresponding service method on the Component class.
  5. The Component passes the response BObj name to PaginationUtils.considerForPagination() method to find out if pagination is to be considered for the BObj. Along with other checks, the passed BObj name is matched against the list of BObj names set in the DWLControl object by the Controller (as mentioned in step 3).
  6. If PaginationUtils.considerForPagination() returns true then the component calls the setConsiderForPagination() method on DWLControl to enable pagination.
  7. The Component then calls the getResults() method on the corresponding BObjQuery object
  8. In the getResults() method, the BObjQuery checks some conditions for pagination. If all the conditions are satisfied, logic is applied on the query fetching the results and the paginated result set is returned.

Pagination can only be done on the first level of search results; child level objects cannot be paginated using the pagination framework. For example, if a transaction returns PersonBObjs and PersonBObj has AddressBObjs as a contained object, then the pagination of the results will only be done for PersonBObjs. There will be no pagination for AddressBObjs within the PersonBObj.

Important: If any filtering is done post RoV, the pagination returns may not be what the user is expecting. The pagination framework processes the result set prior to RoV, therefore the paginated returns may be changed if there is any RoV filtering.