ContinuablePagedFluxCore<C,T,P> Class
java.lang.Object
reactor.core.publisher.Flux
Type Parameters
C
the type of the continuation token
T
The type of elements in a ContinuablePage
P
The ContinuablePage holding items of type T.
public abstract class ContinuablePagedFluxCore<C,T,P> extends ContinuablePagedFlux <C ,T ,P >
The default implementation of ContinuablePagedFlux<C,T,P> .
This type is a Flux that provides the ability to operate on pages of type ContinuablePage<C,T> and individual items in such pages. This type supports user-provided continuation tokens, allowing for restarting from a previously-retrieved continuation token.
The type is backed by the Page Retriever provider provided in it's constructor. The provider is expected to return PageRetriever<C,P> when called. The provider is invoked for each Subscription to this Flux. Given provider is called per Subscription, the provider implementation can create one or more objects to store any state and Page Retriever can capture and use those objects. This indirectly associate the state objects to the Subscription. The Page Retriever can get called multiple times in serial fashion, each time after the completion of the Flux returned by the previous invocation. The final completion signal will be send to the Subscriber when the last Page emitted by the Flux returned by the Page Retriever has null continuation token.
Extending PagedFluxCore for Custom Continuation Token support
class ContinuationState<C> {
private C lastContinuationToken;
private boolean isDone;
ContinuationState(C token) {
this.lastContinuationToken = token;
}
void setLastContinuationToken(C token) {
this.isDone = token == null;
this.lastContinuationToken = token;
}
C getLastContinuationToken() {
return this.lastContinuationToken;
}
boolean isDone() {
return this.isDone;
}
}
class FileContinuationToken {
private final int nextLinkId;
FileContinuationToken(int nextLinkId) {
this.nextLinkId = nextLinkId;
}
public int getNextLinkId() {
return nextLinkId;
}
}
class File {
private final String guid;
File(String guid) {
this.guid = guid;
}
public String getGuid() {
return guid;
}
}
class FilePage implements ContinuablePage<FileContinuationToken, File> {
private final IterableStream<File> elements;
private final FileContinuationToken fileContinuationToken;
FilePage(List<File> elements, FileContinuationToken fileContinuationToken) {
this.elements = IterableStream.of(elements);
this.fileContinuationToken = fileContinuationToken;
}
@Override
public IterableStream<File> getElements() {
return elements;
}
@Override
public FileContinuationToken getContinuationToken() {
return fileContinuationToken;
}
}
class FileShareServiceClient {
Flux<FilePage> getFilePages(FileContinuationToken token) {
List<File> files = Collections.singletonList(new File(UUID.randomUUID().toString()));
if (token.getNextLinkId() < 10) {
return Flux.just(new FilePage(files, null));
} else {
return Flux.just(new FilePage(files,
new FileContinuationToken((int) Math.floor(Math.random() * 20))));
}
}
}
FileShareServiceClient client = new FileShareServiceClient();
Supplier<PageRetriever<FileContinuationToken, FilePage>> pageRetrieverProvider = () ->
(continuationToken, pageSize) -> client.getFilePages(continuationToken);
class FilePagedFlux extends ContinuablePagedFluxCore<FileContinuationToken, File, FilePage> {
FilePagedFlux(Supplier<PageRetriever<FileContinuationToken, FilePage>>
pageRetrieverProvider) {
super(pageRetrieverProvider);
}
}
FilePagedFlux filePagedFlux = new FilePagedFlux(pageRetrieverProvider);
Constructor Summary
Modifier
Constructor
Description
protected
ContinuablePagedFluxCore(Supplier<PageRetriever<C,P>> pageRetrieverProvider)
Creates an instance of ContinuablePagedFluxCore<C,T,P> .
protected
ContinuablePagedFluxCore(Supplier<PageRetriever<C,P>> pageRetrieverProvider, int pageSize)
Creates an instance of ContinuablePagedFluxCore<C,T,P> .
protected
ContinuablePagedFluxCore(Supplier<PageRetriever<C,P>> pageRetrieverProvider, Integer pageSize, Predicate<C> continuationPredicate)
Creates an instance of ContinuablePagedFluxCore<C,T,P> .
Method Summary
Methods inherited from java.lang.Object
Methods inherited from reactor.core.publisher.Flux
reactor.core.publisher.Flux.<A>reduce(A,java.util.function.BiFunction<A,
reactor.core.publisher.Flux.<A>reduceWith(java.util.function.Supplier<A>,java.util.function.BiFunction<A,
reactor.core.publisher.Flux.<A>scan(A,java.util.function.BiFunction<A,
reactor.core.publisher.Flux.<A>scanWith(java.util.function.Supplier<A>,java.util.function.BiFunction<A,
reactor.core.publisher.Flux.<C>buffer
reactor.core.publisher.Flux.<C>buffer
reactor.core.publisher.Flux.<C>buffer(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<C>bufferTimeout
reactor.core.publisher.Flux.<C>bufferTimeout
reactor.core.publisher.Flux.<C>bufferTimeout
reactor.core.publisher.Flux.<C>bufferTimeout
reactor.core.publisher.Flux.<E>cast
reactor.core.publisher.Flux.<E>collect(java.util.function.Supplier<E>,java.util.function.BiConsumer<E,
reactor.core.publisher.Flux.<E>doOnError(java.lang.Class<E>,java.util.function.Consumer<
reactor.core.publisher.Flux.<E>onErrorContinue
reactor.core.publisher.Flux.<E>onErrorContinue
reactor.core.publisher.Flux.<E>onErrorMap(java.lang.Class<E>,java.util.function.Function<
reactor.core.publisher.Flux.<E>onErrorResume(java.lang.Class<E>,java.util.function.Function<
reactor.core.publisher.Flux.<E>onErrorReturn
reactor.core.publisher.Flux.<E>subscribeWith
reactor.core.publisher.Flux.<I,O>zip(java.util.function.Function<
reactor.core.publisher.Flux.<I,O>zip(java.util.function.Function<
reactor.core.publisher.Flux.<I>first(java.lang.Iterable<
reactor.core.publisher.Flux.<I>first(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<I>firstWithSignal(java.lang.Iterable<
reactor.core.publisher.Flux.<I>firstWithSignal(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<I>firstWithValue(java.lang.Iterable<
reactor.core.publisher.Flux.<I>firstWithValue(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<I>index(java.util.function.BiFunction<
reactor.core.publisher.Flux.<I>merge(int,org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<I>merge(java.lang.Iterable<
reactor.core.publisher.Flux.<I>merge(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<I>mergeComparing(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<I>mergeDelayError(int,org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<I>mergeOrdered(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<I>mergePriority(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<I>mergeSequential(int,org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<I>mergeSequential(java.lang.Iterable<
reactor.core.publisher.Flux.<I>mergeSequential(java.lang.Iterable<
reactor.core.publisher.Flux.<I>mergeSequential(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<I>mergeSequentialDelayError(int,org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<I>mergeSequentialDelayError(java.lang.Iterable<
reactor.core.publisher.Flux.<K,V>collectMap(java.util.function.Function<
reactor.core.publisher.Flux.<K,V>collectMap(java.util.function.Function<
reactor.core.publisher.Flux.<K,V>collectMultimap(java.util.function.Function<
reactor.core.publisher.Flux.<K,V>collectMultimap(java.util.function.Function<
reactor.core.publisher.Flux.<K,V>groupBy(java.util.function.Function<
reactor.core.publisher.Flux.<K,V>groupBy(java.util.function.Function<
reactor.core.publisher.Flux.<K>collectMap(java.util.function.Function<
reactor.core.publisher.Flux.<K>collectMultimap(java.util.function.Function<
reactor.core.publisher.Flux.<K>groupBy(java.util.function.Function<
reactor.core.publisher.Flux.<K>groupBy(java.util.function.Function<
reactor.core.publisher.Flux.<O>error
reactor.core.publisher.Flux.<O>zip(java.lang.Iterable<
reactor.core.publisher.Flux.<O>zip(java.lang.Iterable<
reactor.core.publisher.Flux.<P>as(java.util.function.Function<
reactor.core.publisher.Flux.<R,A>collect(java.util.stream.Collector<
reactor.core.publisher.Flux.<R>concatMapIterable(java.util.function.Function<
reactor.core.publisher.Flux.<R>concatMapIterable(java.util.function.Function<
reactor.core.publisher.Flux.<R>doOnDiscard(java.lang.Class<R>,java.util.function.Consumer<
reactor.core.publisher.Flux.<R>flatMap(java.util.function.Function<
reactor.core.publisher.Flux.<R>flatMap(java.util.function.Function<
reactor.core.publisher.Flux.<R>flatMapIterable(java.util.function.Function<
reactor.core.publisher.Flux.<R>flatMapIterable(java.util.function.Function<
reactor.core.publisher.Flux.<R>flatMapSequential(java.util.function.Function<
reactor.core.publisher.Flux.<R>flatMapSequential(java.util.function.Function<
reactor.core.publisher.Flux.<R>flatMapSequential(java.util.function.Function<
reactor.core.publisher.Flux.<R>flatMapSequentialDelayError(java.util.function.Function<
reactor.core.publisher.Flux.<R>handle(java.util.function.BiConsumer<
reactor.core.publisher.Flux.<R>publish(java.util.function.Function<
reactor.core.publisher.Flux.<R>publish(java.util.function.Function<
reactor.core.publisher.Flux.<T,D>using(java.util.concurrent.Callable<
reactor.core.publisher.Flux.<T,D>using(java.util.concurrent.Callable<
reactor.core.publisher.Flux.<T,D>using(java.util.concurrent.Callable<
reactor.core.publisher.Flux.<T,D>using(java.util.concurrent.Callable<
reactor.core.publisher.Flux.<T,D>usingWhen(org.reactivestreams.Publisher<D>,java.util.function.Function<
reactor.core.publisher.Flux.<T,D>usingWhen(org.reactivestreams.Publisher<D>,java.util.function.Function<
reactor.core.publisher.Flux.<T,S>generate
reactor.core.publisher.Flux.<T,S>generate(java.util.concurrent.Callable<S>,java.util.function.BiFunction<S,reactor.core.publisher.SynchronousSink<T>,S>,java.util.function.Consumer<
reactor.core.publisher.Flux.<T,V>combineLatest(java.lang.Iterable<
reactor.core.publisher.Flux.<T,V>combineLatest(java.lang.Iterable<
reactor.core.publisher.Flux.<T,V>combineLatest(java.util.function.Function<java.lang.Object[],V>,int,org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T,V>combineLatest(java.util.function.Function<java.lang.Object[],V>,org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T1,T2,O>zip(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T1,T2,T3,T4,T5,T6,T7,T8>zip(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T1,T2,T3,T4,T5,T6,T7>zip(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T1,T2,T3,T4,T5,T6,V>combineLatest(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T1,T2,T3,T4,T5,T6>zip(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T1,T2,T3,T4,T5,V>combineLatest(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T1,T2,T3,T4,T5>zip(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T1,T2,T3,T4,V>combineLatest(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T1,T2,T3,T4>zip(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T1,T2,T3,V>combineLatest(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T1,T2,T3>zip(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T1,T2,V>combineLatest(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T1,T2>zip(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T2,V>zipWith(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T2,V>zipWith(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T2,V>zipWithIterable(java.lang.Iterable<
reactor.core.publisher.Flux.<T2>zipWith(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T2>zipWith(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T2>zipWithIterable(java.lang.Iterable<
reactor.core.publisher.Flux.<T>concat(java.lang.Iterable<
reactor.core.publisher.Flux.<T>concat(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>concat(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>concat(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>concatDelayError(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>concatDelayError(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>concatDelayError(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>concatDelayError(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>create(java.util.function.Consumer<
reactor.core.publisher.Flux.<T>create(java.util.function.Consumer<
reactor.core.publisher.Flux.<T>defer(java.util.function.Supplier<
reactor.core.publisher.Flux.<T>deferContextual(java.util.function.Function<reactor.util.context.ContextView,
reactor.core.publisher.Flux.<T>empty
reactor.core.publisher.Flux.<T>error
reactor.core.publisher.Flux.<T>error(java.util.function.Supplier<
reactor.core.publisher.Flux.<T>from(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>fromArray
reactor.core.publisher.Flux.<T>fromIterable(java.lang.Iterable<
reactor.core.publisher.Flux.<T>fromStream(java.util.function.Supplier<java.util.stream.Stream<
reactor.core.publisher.Flux.<T>fromStream(java.util.stream.Stream<
reactor.core.publisher.Flux.<T>generate
reactor.core.publisher.Flux.<T>just
reactor.core.publisher.Flux.<T>just
reactor.core.publisher.Flux.<T>merge(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>merge(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>merge(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>mergeComparing(int,java.util.Comparator<
reactor.core.publisher.Flux.<T>mergeComparing(java.util.Comparator<
reactor.core.publisher.Flux.<T>mergeComparingDelayError(int,java.util.Comparator<
reactor.core.publisher.Flux.<T>mergeOrdered(int,java.util.Comparator<
reactor.core.publisher.Flux.<T>mergeOrdered(java.util.Comparator<
reactor.core.publisher.Flux.<T>mergePriority(int,java.util.Comparator<
reactor.core.publisher.Flux.<T>mergePriority(java.util.Comparator<
reactor.core.publisher.Flux.<T>mergePriorityDelayError(int,java.util.Comparator<
reactor.core.publisher.Flux.<T>mergeSequential(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>mergeSequential(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>mergeSequentialDelayError(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>never
reactor.core.publisher.Flux.<T>onAssembly
reactor.core.publisher.Flux.<T>onAssembly
reactor.core.publisher.Flux.<T>push(java.util.function.Consumer<
reactor.core.publisher.Flux.<T>push(java.util.function.Consumer<
reactor.core.publisher.Flux.<T>switchOnNext(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<T>switchOnNext(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<TRight,TLeftEnd,TRightEnd,R>groupJoin(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<TRight,TLeftEnd,TRightEnd,R>join(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<TUPLE,V>zip(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<U,R>withLatestFrom(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.<U,V,C>bufferWhen(org.reactivestreams.Publisher<U>,java.util.function.Function<
reactor.core.publisher.Flux.<U,V>bufferWhen(org.reactivestreams.Publisher<U>,java.util.function.Function<
reactor.core.publisher.Flux.<U,V>timeout(org.reactivestreams.Publisher<U>,java.util.function.Function<
reactor.core.publisher.Flux.<U,V>timeout(org.reactivestreams.Publisher<U>,java.util.function.Function<
reactor.core.publisher.Flux.<U,V>windowWhen(org.reactivestreams.Publisher<U>,java.util.function.Function<
reactor.core.publisher.Flux.<U>delaySubscription
reactor.core.publisher.Flux.<U>ofType
reactor.core.publisher.Flux.<U>sample
reactor.core.publisher.Flux.<U>sampleFirst(java.util.function.Function<
reactor.core.publisher.Flux.<U>sampleTimeout(java.util.function.Function<
reactor.core.publisher.Flux.<U>sampleTimeout(java.util.function.Function<
reactor.core.publisher.Flux.<U>timeout
reactor.core.publisher.Flux.<V,C>distinct(java.util.function.Function<
reactor.core.publisher.Flux.<V,C>distinct(java.util.function.Function<
reactor.core.publisher.Flux.<V>bufferUntilChanged(java.util.function.Function<
reactor.core.publisher.Flux.<V>bufferUntilChanged(java.util.function.Function<
reactor.core.publisher.Flux.<V>concatMap(java.util.function.Function<
reactor.core.publisher.Flux.<V>concatMap(java.util.function.Function<
reactor.core.publisher.Flux.<V>concatMapDelayError(java.util.function.Function<
reactor.core.publisher.Flux.<V>concatMapDelayError(java.util.function.Function<
reactor.core.publisher.Flux.<V>concatMapDelayError(java.util.function.Function<
reactor.core.publisher.Flux.<V>distinct(java.util.function.Function<
reactor.core.publisher.Flux.<V>distinctUntilChanged(java.util.function.Function<
reactor.core.publisher.Flux.<V>distinctUntilChanged(java.util.function.Function<
reactor.core.publisher.Flux.<V>flatMap(java.util.function.Function<
reactor.core.publisher.Flux.<V>flatMap(java.util.function.Function<
reactor.core.publisher.Flux.<V>flatMapDelayError(java.util.function.Function<
reactor.core.publisher.Flux.<V>map(java.util.function.Function<
reactor.core.publisher.Flux.<V>mapNotNull(java.util.function.Function<
reactor.core.publisher.Flux.<V>switchMap(java.util.function.Function<
reactor.core.publisher.Flux.<V>switchMap(java.util.function.Function<
reactor.core.publisher.Flux.<V>switchOnFirst(java.util.function.BiFunction<reactor.core.publisher.Signal<
reactor.core.publisher.Flux.<V>switchOnFirst(java.util.function.BiFunction<reactor.core.publisher.Signal<
reactor.core.publisher.Flux.<V>then
reactor.core.publisher.Flux.<V>thenMany
reactor.core.publisher.Flux.<V>transform(java.util.function.Function<
reactor.core.publisher.Flux.<V>transformDeferred(java.util.function.Function<
reactor.core.publisher.Flux.<V>transformDeferredContextual(java.util.function.BiFunction<
reactor.core.publisher.Flux.<V>windowUntilChanged(java.util.function.Function<
reactor.core.publisher.Flux.<V>windowUntilChanged(java.util.function.Function<
reactor.core.publisher.Flux.<X>dematerialize
reactor.core.publisher.Flux.all(java.util.function.Predicate<
reactor.core.publisher.Flux.any(java.util.function.Predicate<
reactor.core.publisher.Flux.blockFirst
reactor.core.publisher.Flux.blockFirst
reactor.core.publisher.Flux.blockLast
reactor.core.publisher.Flux.blockLast
reactor.core.publisher.Flux.buffer
reactor.core.publisher.Flux.buffer
reactor.core.publisher.Flux.buffer
reactor.core.publisher.Flux.buffer
reactor.core.publisher.Flux.buffer
reactor.core.publisher.Flux.buffer
reactor.core.publisher.Flux.buffer
reactor.core.publisher.Flux.buffer(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.bufferTimeout
reactor.core.publisher.Flux.bufferTimeout
reactor.core.publisher.Flux.bufferTimeout
reactor.core.publisher.Flux.bufferTimeout
reactor.core.publisher.Flux.bufferUntil(java.util.function.Predicate<
reactor.core.publisher.Flux.bufferUntil(java.util.function.Predicate<
reactor.core.publisher.Flux.bufferUntilChanged
reactor.core.publisher.Flux.bufferWhile(java.util.function.Predicate<
reactor.core.publisher.Flux.cache
reactor.core.publisher.Flux.cache
reactor.core.publisher.Flux.cache
reactor.core.publisher.Flux.cache
reactor.core.publisher.Flux.cache
reactor.core.publisher.Flux.cache
reactor.core.publisher.Flux.cancelOn
reactor.core.publisher.Flux.checkpoint
reactor.core.publisher.Flux.checkpoint
reactor.core.publisher.Flux.checkpoint
reactor.core.publisher.Flux.collectList
reactor.core.publisher.Flux.collectSortedList
reactor.core.publisher.Flux.collectSortedList(java.util.Comparator<
reactor.core.publisher.Flux.concatWith(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.concatWithValues
reactor.core.publisher.Flux.contextCapture
reactor.core.publisher.Flux.contextWrite
reactor.core.publisher.Flux.contextWrite
reactor.core.publisher.Flux.count
reactor.core.publisher.Flux.defaultIfEmpty
reactor.core.publisher.Flux.delayElements
reactor.core.publisher.Flux.delayElements
reactor.core.publisher.Flux.delaySequence
reactor.core.publisher.Flux.delaySequence
reactor.core.publisher.Flux.delaySubscription
reactor.core.publisher.Flux.delaySubscription
reactor.core.publisher.Flux.delayUntil(java.util.function.Function<
reactor.core.publisher.Flux.distinct
reactor.core.publisher.Flux.distinctUntilChanged
reactor.core.publisher.Flux.doAfterTerminate
reactor.core.publisher.Flux.doFinally
reactor.core.publisher.Flux.doFirst
reactor.core.publisher.Flux.doOnCancel
reactor.core.publisher.Flux.doOnComplete
reactor.core.publisher.Flux.doOnEach(java.util.function.Consumer<
reactor.core.publisher.Flux.doOnError(java.util.function.Consumer<
reactor.core.publisher.Flux.doOnError(java.util.function.Predicate<
reactor.core.publisher.Flux.doOnNext(java.util.function.Consumer<
reactor.core.publisher.Flux.doOnRequest
reactor.core.publisher.Flux.doOnSubscribe(java.util.function.Consumer<
reactor.core.publisher.Flux.doOnTerminate
reactor.core.publisher.Flux.elapsed
reactor.core.publisher.Flux.elapsed
reactor.core.publisher.Flux.elementAt
reactor.core.publisher.Flux.elementAt
reactor.core.publisher.Flux.expand(java.util.function.Function<
reactor.core.publisher.Flux.expand(java.util.function.Function<
reactor.core.publisher.Flux.expandDeep(java.util.function.Function<
reactor.core.publisher.Flux.expandDeep(java.util.function.Function<
reactor.core.publisher.Flux.filter(java.util.function.Predicate<
reactor.core.publisher.Flux.filterWhen(java.util.function.Function<
reactor.core.publisher.Flux.filterWhen(java.util.function.Function<
reactor.core.publisher.Flux.getPrefetch
reactor.core.publisher.Flux.hasElement
reactor.core.publisher.Flux.hasElements
reactor.core.publisher.Flux.hide
reactor.core.publisher.Flux.ignoreElements
reactor.core.publisher.Flux.index
reactor.core.publisher.Flux.interval
reactor.core.publisher.Flux.interval
reactor.core.publisher.Flux.interval
reactor.core.publisher.Flux.interval
reactor.core.publisher.Flux.last
reactor.core.publisher.Flux.last
reactor.core.publisher.Flux.limitRate
reactor.core.publisher.Flux.limitRate
reactor.core.publisher.Flux.limitRequest
reactor.core.publisher.Flux.log
reactor.core.publisher.Flux.log
reactor.core.publisher.Flux.log
reactor.core.publisher.Flux.log
reactor.core.publisher.Flux.log
reactor.core.publisher.Flux.log
reactor.core.publisher.Flux.materialize
reactor.core.publisher.Flux.mergeComparingWith(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.mergeOrderedWith(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.mergeWith(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.metrics
reactor.core.publisher.Flux.name
reactor.core.publisher.Flux.next
reactor.core.publisher.Flux.onBackpressureBuffer
reactor.core.publisher.Flux.onBackpressureBuffer
reactor.core.publisher.Flux.onBackpressureBuffer(int,java.util.function.Consumer<
reactor.core.publisher.Flux.onBackpressureBuffer(int,java.util.function.Consumer<
reactor.core.publisher.Flux.onBackpressureBuffer
reactor.core.publisher.Flux.onBackpressureBuffer(java.time.Duration,int,java.util.function.Consumer<
reactor.core.publisher.Flux.onBackpressureBuffer(java.time.Duration,int,java.util.function.Consumer<
reactor.core.publisher.Flux.onBackpressureDrop
reactor.core.publisher.Flux.onBackpressureDrop(java.util.function.Consumer<
reactor.core.publisher.Flux.onBackpressureError
reactor.core.publisher.Flux.onBackpressureLatest
reactor.core.publisher.Flux.onErrorComplete
reactor.core.publisher.Flux.onErrorComplete(java.lang.Class<
reactor.core.publisher.Flux.onErrorComplete(java.util.function.Predicate<
reactor.core.publisher.Flux.onErrorContinue
reactor.core.publisher.Flux.onErrorMap(java.util.function.Function<
reactor.core.publisher.Flux.onErrorMap(java.util.function.Predicate<
reactor.core.publisher.Flux.onErrorResume(java.util.function.Function<
reactor.core.publisher.Flux.onErrorResume(java.util.function.Predicate<
reactor.core.publisher.Flux.onErrorReturn
reactor.core.publisher.Flux.onErrorReturn(java.util.function.Predicate<
reactor.core.publisher.Flux.onErrorStop
reactor.core.publisher.Flux.onTerminateDetach
reactor.core.publisher.Flux.or(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.parallel
reactor.core.publisher.Flux.parallel
reactor.core.publisher.Flux.parallel
reactor.core.publisher.Flux.publish
reactor.core.publisher.Flux.publish
reactor.core.publisher.Flux.publishNext
reactor.core.publisher.Flux.publishOn
reactor.core.publisher.Flux.publishOn
reactor.core.publisher.Flux.publishOn
reactor.core.publisher.Flux.range
reactor.core.publisher.Flux.reduce
reactor.core.publisher.Flux.repeat
reactor.core.publisher.Flux.repeat
reactor.core.publisher.Flux.repeat
reactor.core.publisher.Flux.repeat
reactor.core.publisher.Flux.repeatWhen(java.util.function.Function<reactor.core.publisher.Flux<java.lang.Long>,
reactor.core.publisher.Flux.replay
reactor.core.publisher.Flux.replay
reactor.core.publisher.Flux.replay
reactor.core.publisher.Flux.replay
reactor.core.publisher.Flux.replay
reactor.core.publisher.Flux.replay
reactor.core.publisher.Flux.retry
reactor.core.publisher.Flux.retry
reactor.core.publisher.Flux.retryWhen
reactor.core.publisher.Flux.sample
reactor.core.publisher.Flux.sampleFirst
reactor.core.publisher.Flux.scan
reactor.core.publisher.Flux.share
reactor.core.publisher.Flux.shareNext
reactor.core.publisher.Flux.single
reactor.core.publisher.Flux.single
reactor.core.publisher.Flux.singleOrEmpty
reactor.core.publisher.Flux.skip
reactor.core.publisher.Flux.skip
reactor.core.publisher.Flux.skip
reactor.core.publisher.Flux.skipLast
reactor.core.publisher.Flux.skipUntil(java.util.function.Predicate<
reactor.core.publisher.Flux.skipUntilOther(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.skipWhile(java.util.function.Predicate<
reactor.core.publisher.Flux.sort
reactor.core.publisher.Flux.sort(java.util.Comparator<
reactor.core.publisher.Flux.startWith
reactor.core.publisher.Flux.startWith(java.lang.Iterable<
reactor.core.publisher.Flux.startWith(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.subscribe
reactor.core.publisher.Flux.subscribe(java.util.function.Consumer<
reactor.core.publisher.Flux.subscribe(java.util.function.Consumer<
reactor.core.publisher.Flux.subscribe(java.util.function.Consumer<
reactor.core.publisher.Flux.subscribe(java.util.function.Consumer<
reactor.core.publisher.Flux.subscribe(java.util.function.Consumer<
reactor.core.publisher.Flux.subscribe(org.reactivestreams.Subscriber<
reactor.core.publisher.Flux.subscribe(reactor.core.CoreSubscriber<
reactor.core.publisher.Flux.subscribeOn
reactor.core.publisher.Flux.subscribeOn
reactor.core.publisher.Flux.switchIfEmpty(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.tag
reactor.core.publisher.Flux.take
reactor.core.publisher.Flux.take
reactor.core.publisher.Flux.take
reactor.core.publisher.Flux.take
reactor.core.publisher.Flux.takeLast
reactor.core.publisher.Flux.takeUntil(java.util.function.Predicate<
reactor.core.publisher.Flux.takeUntilOther(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.takeWhile(java.util.function.Predicate<
reactor.core.publisher.Flux.tap
reactor.core.publisher.Flux.tap
reactor.core.publisher.Flux.tap(reactor.core.observability.SignalListenerFactory<T,
reactor.core.publisher.Flux.then
reactor.core.publisher.Flux.thenEmpty
reactor.core.publisher.Flux.timed
reactor.core.publisher.Flux.timed
reactor.core.publisher.Flux.timeout
reactor.core.publisher.Flux.timeout(java.time.Duration,org.reactivestreams.Publisher<
reactor.core.publisher.Flux.timeout(java.time.Duration,org.reactivestreams.Publisher<
reactor.core.publisher.Flux.timeout
reactor.core.publisher.Flux.timestamp
reactor.core.publisher.Flux.timestamp
reactor.core.publisher.Flux.toIterable
reactor.core.publisher.Flux.toIterable
reactor.core.publisher.Flux.toIterable
reactor.core.publisher.Flux.toStream
reactor.core.publisher.Flux.toStream
reactor.core.publisher.Flux.toString
reactor.core.publisher.Flux.window
reactor.core.publisher.Flux.window
reactor.core.publisher.Flux.window
reactor.core.publisher.Flux.window
reactor.core.publisher.Flux.window
reactor.core.publisher.Flux.window
reactor.core.publisher.Flux.window(org.reactivestreams.Publisher<
reactor.core.publisher.Flux.windowTimeout
reactor.core.publisher.Flux.windowTimeout
reactor.core.publisher.Flux.windowTimeout
reactor.core.publisher.Flux.windowTimeout
reactor.core.publisher.Flux.windowUntil
reactor.core.publisher.Flux.windowUntil
reactor.core.publisher.Flux.windowUntil
reactor.core.publisher.Flux.windowUntilChanged
reactor.core.publisher.Flux.windowWhile
reactor.core.publisher.Flux.windowWhile
Constructor Details
ContinuablePagedFluxCore
protected ContinuablePagedFluxCore(Supplier<PageRetriever<C,P>> pageRetrieverProvider, int pageSize)
Creates an instance of ContinuablePagedFluxCore<C,T,P> .
Parameters:
pageSize
- the preferred page size
ContinuablePagedFluxCore
protected ContinuablePagedFluxCore(Supplier<PageRetriever<C,P>> pageRetrieverProvider, Integer pageSize, Predicate<C> continuationPredicate)
Creates an instance of ContinuablePagedFluxCore<C,T,P> .
Parameters:
pageSize
- The preferred page size.
continuationPredicate
- A predicate which determines if paging should continue.
Method Details
byPage
public Flux
byPage()
Gets a Flux of ContinuablePage<C,T> starting at the first page.
Overrides:
ContinuablePagedFluxCore<C,T,P>.byPage()
byPage
public Flux
byPage(C continuationToken)
Gets a Flux of ContinuablePage<C,T> beginning at the page identified by the given continuation token.
Overrides:
ContinuablePagedFluxCore<C,T,P>.byPage(C continuationToken)
Parameters:
continuationToken
byPage
public Flux
byPage(C continuationToken, int preferredPageSize)
Gets a Flux of ContinuablePage<C,T> beginning at the page identified by the given continuation token requesting each page to contain the number of elements equal to the preferred page size.
The service may or may not honor the preferred page size therefore the client MUST be prepared to handle pages with different page sizes.
Overrides:
ContinuablePagedFluxCore<C,T,P>.byPage(C continuationToken, int preferredPageSize)
Parameters:
continuationToken
preferredPageSize
byPage
public Flux
byPage(int preferredPageSize)
Gets a Flux of ContinuablePage<C,T> starting at the first page requesting each page to contain a number of elements equal to the preferred page size.
The service may or may not honor the preferred page size therefore the client MUST be prepared to handle pages with different page sizes.
Overrides:
ContinuablePagedFluxCore<C,T,P>.byPage(int preferredPageSize)
Parameters:
preferredPageSize
subscribe
public void subscribe(CoreSubscriber<? super T> coreSubscriber)
Subscribe to consume all items of type T in the sequence respectively. This is recommended for most common scenarios. This will seamlessly fetch next page when required and provide with a Flux of items.
Overrides:
ContinuablePagedFluxCore<C,T,P>.subscribe(CoreSubscriber<? super T> coreSubscriber)
Parameters: