public abstract class PaginationSubscription<ResponseT> extends Object
Modifier and Type | Class and Description |
---|---|
static interface |
PaginationSubscription.Builder<TypeToBuildT extends PaginationSubscription,BuilderT extends PaginationSubscription.Builder> |
protected static class |
PaginationSubscription.BuilderImpl<TypeToBuildT extends PaginationSubscription,BuilderT extends PaginationSubscription.Builder> |
Modifier and Type | Field and Description |
---|---|
protected ResponseT |
currentPage |
protected AsyncPageFetcher<ResponseT> |
nextPageFetcher |
protected AtomicLong |
outstandingRequests |
protected Subscriber |
subscriber |
Modifier | Constructor and Description |
---|---|
protected |
PaginationSubscription(PaginationSubscription.BuilderImpl builder) |
Modifier and Type | Method and Description |
---|---|
void |
cancel() |
protected void |
cleanup() |
protected void |
completeSubscription() |
protected abstract void |
handleRequests()
Recursive method to deal with requests until there are no outstandingRequests or
no more pages.
|
protected boolean |
hasNextPage() |
protected boolean |
isTerminated() |
void |
request(long n) |
protected void |
stopTask() |
protected AtomicLong outstandingRequests
protected final Subscriber subscriber
protected final AsyncPageFetcher<ResponseT> nextPageFetcher
protected volatile ResponseT currentPage
protected PaginationSubscription(PaginationSubscription.BuilderImpl builder)
public void request(long n)
protected abstract void handleRequests()
public void cancel()
protected boolean hasNextPage()
protected void completeSubscription()
protected boolean isTerminated()
protected void stopTask()
protected void cleanup()
Copyright © 2022. All rights reserved.