Class ResponseIterable<REQUESTBUILDER,​REQUEST,​RESPONSE>

  • Type Parameters:
    REQUESTBUILDER - the type of a builder which can produce requests for a list operation
    REQUEST - the type of a request to a list operation. This type must match the type produced by REQUESTBUILDER
    RESPONSE - the type of the response from a list operation
    All Implemented Interfaces:
    Iterable<RESPONSE>

    public class ResponseIterable<REQUESTBUILDER,​REQUEST,​RESPONSE>
    extends Object
    implements Iterable<RESPONSE>
    An iterable which can be used to iterate over responses returned from calling a list operation.

    Since this deals in responses, the returned response objects will contain a collection of results. This iterable will handle calling the service to retrieve more results when required.

    • Constructor Detail

      • ResponseIterable

        public ResponseIterable​(Supplier<REQUESTBUILDER> requestBuilderSupplier,
                                Function<RESPONSE,​String> nextPageTokenRetrievalFunction,
                                Function<RequestBuilderAndToken<REQUESTBUILDER>,​REQUEST> requestBuilderFunction,
                                Function<REQUEST,​RESPONSE> pageRetrievalFunction)
        Creates a new iterable.
        Parameters:
        requestBuilderSupplier - a supplier which can called to produce a builder object for requests
        nextPageTokenRetrievalFunction - a function which can extract the next page token from a response produced by a list operation
        requestBuilderFunction - a function which can build a request for a list operation based on a builder object and a pagination token to use
        pageRetrievalFunction - a function which will call a list operation with a request and return the response of the call