-
Notifications
You must be signed in to change notification settings - Fork 62
Paging
Martin Caslavsky edited this page Aug 28, 2017
·
4 revisions
Multiple GoodData REST resources return results in the form of pages. Each page contains limited number of records and a URL link to next page (except the last page).
GoodData Java SDK encapsulates this resources as listItem(Page page) methods:
- paging can be controlled by the
Pageargument - eg.listItem(new PageRequest(10))list 10 items per page - the return type is
PageableList<Item>which represents the page returned from REST resource -
PageableListclass has methodsboolean hasNextPage()andPage getNextPage()which can be used iterate through all pages - whole paging flow can be simplified using
PageableList's iterator which transparently loads subsequent pages, so eg. for each loop iterates thru all pages - Java Stream API is supported, so when
PageableList.stream()is used, it processes all the items including those on subsequent pages - to work only with items on the current page extract a sublist using
list.subList(0, list.size())