public abstract class PaginationSubscription<ResponseT> extends Object implements org.reactivestreams.Subscription
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 org.reactivestreams.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 org.reactivestreams.Subscriber subscriber
protected final AsyncPageFetcher<ResponseT> nextPageFetcher
protected volatile ResponseT currentPage
protected PaginationSubscription(PaginationSubscription.BuilderImpl builder)
public void request(long n)
request
in interface org.reactivestreams.Subscription
protected abstract void handleRequests()
public void cancel()
cancel
in interface org.reactivestreams.Subscription
protected boolean hasNextPage()
protected void completeSubscription()
protected boolean isTerminated()
protected void stopTask()
protected void cleanup()
Copyright © 2022. All rights reserved.