Google API Core Client - Class PagedListResponse (1.35.0)

Reference documentation and code samples for the Google API Core Client class PagedListResponse.

Response object for paged results from a list API method

The PagedListResponse object is returned by API methods that implement pagination, and makes it easier to access multiple pages of results without having to manually manipulate page tokens. Pages are retrieved lazily, with additional API calls being made as additional results are required.

The list elements can be accessed in the following ways:

  • As a single iterable used in a foreach loop or via the getIterator method
  • As pages of elements, using the getPage and iteratePages methods
  • As fixed size collections of elements, using the getFixedSizeCollection and iterateFixedSizeCollections methods

Example of using PagedListResponse as an iterator:

$pagedListResponse = $client->getList(...);
foreach ($pagedListResponse as $element) {
    // doSomethingWith($element);
}

Example of iterating over each page of elements:

$pagedListResponse = $client->getList(...);
foreach ($pagedListResponse->iteratePages() as $page) {
    foreach ($page as $element) {
        // doSomethingWith($element);
    }
}

Example of accessing the current page, and manually iterating over pages:

$pagedListResponse = $client->getList(...);
$page = $pagedListResponse->getPage();
// doSomethingWith($page);
while ($page->hasNextPage()) {
    $page = $page->getNextPage();
    // doSomethingWith($page);
}

Namespace

Google \ ApiCore

Methods

__construct

PagedListResponse constructor.

Parameter
Name Description
firstPage Google\ApiCore\Page

A page containing response details.

iterateAllElements

Returns an iterator over the full list of elements. If the API response contains a (non-empty) next page token, then the PagedListResponse object will make calls to the underlying API to retrieve additional elements as required.

NOTE: The result of this method is the same as getIterator(). Prefer using getIterator(), or iterate directly on the PagedListResponse object.

Returns
Type Description
Generator

getIterator

Returns an iterator over the full list of elements. If the API response contains a (non-empty) next page token, then the PagedListResponse object will make calls to the underlying API to retrieve additional elements as required.

Returns
Type Description
Generator

getPage

Return the current page of results.

Returns
Type Description
Google\ApiCore\Page

iteratePages

Returns an iterator over pages of results. The pages are retrieved lazily from the underlying API.

Returns
Type Description
array<Google\ApiCore\Page>

expandToFixedSizeCollection

Returns a collection of elements with a fixed size set by the collectionSize parameter. The collection will only contain fewer than collectionSize elements if there are no more pages to be retrieved from the server.

NOTE: it is an error to call this method if an optional parameter to set the page size is not supported or has not been set in the original API call. It is also an error if the collectionSize parameter is less than the page size that has been set.

Parameter
Name Description
collectionSize int
Returns
Type Description
Google\ApiCore\FixedSizeCollection

iterateFixedSizeCollections

Returns an iterator over fixed size collections of results.

The collections are retrieved lazily from the underlying API.

Each collection will have collectionSize elements, with the exception of the final collection which may contain fewer elements.

NOTE: it is an error to call this method if an optional parameter to set the page size is not supported or has not been set in the original API call. It is also an error if the collectionSize parameter is less than the page size that has been set.

Parameter
Name Description
collectionSize int
Returns
Type Description
Generator|array<Google\ApiCore\FixedSizeCollection>