@Override public GetApiKeysResponse nextPage(GetApiKeysResponse previousPage) { if (previousPage == null) { return client.getApiKeys(firstRequest); } return client.getApiKeys(firstRequest.toBuilder().position(previousPage.position()).build()); } }
@Override public CompletableFuture<GetApiKeysResponse> nextPage(final GetApiKeysResponse previousPage) { if (previousPage == null) { return client.getApiKeys(firstRequest); } return client.getApiKeys(firstRequest.toBuilder().position(previousPage.position()).build()); } }
/** * <p> * A helper method to resume the pages in case of unexpected failures. The method takes the last successful response * page as input and returns an instance of {@link GetApiKeysPublisher} that can be used to retrieve the consecutive * pages that follows the input page. * </p> */ private final GetApiKeysPublisher resume(GetApiKeysResponse lastSuccessfulPage) { if (nextPageFetcher.hasNextPage(lastSuccessfulPage)) { return new GetApiKeysPublisher(client, firstRequest.toBuilder().position(lastSuccessfulPage.position()).build()); } return new GetApiKeysPublisher(client, firstRequest, true) { @Override public void subscribe(Subscriber<? super GetApiKeysResponse> subscriber) { subscriber.onSubscribe(new EmptySubscription(subscriber)); } }; }
/** * <p> * A helper method to resume the pages in case of unexpected failures. The method takes the last successful response * page as input and returns an instance of {@link GetApiKeysIterable} that can be used to retrieve the consecutive * pages that follows the input page. * </p> */ private final GetApiKeysIterable resume(GetApiKeysResponse lastSuccessfulPage) { if (nextPageFetcher.hasNextPage(lastSuccessfulPage)) { return new GetApiKeysIterable(client, firstRequest.toBuilder().position(lastSuccessfulPage.position()).build()); } return new GetApiKeysIterable(client, firstRequest) { @Override public Iterator<GetApiKeysResponse> iterator() { return Collections.emptyIterator(); } }; }