PagedFluxBase<T,P> Class

Type Parameters

T

The type of items in P.

P

The PagedResponse holding items of type T.

@Deprecated
public class PagedFluxBase<T,P>
extends ContinuablePagedFluxCore<String,T,P>

Note

This class has been deprecated. use ContinuablePagedFluxCore<C,T,P>.

This class is a flux that can operate on any type that extends PagedResponse<T> and also provides the ability to operate on individual items. When processing the response by page, each response will contain the items in the page as well as the request details like status code and headers.

Process each item in Flux

To process one item at a time, simply subscribe to this Flux.

pagedFluxBase
     .log()
     .subscribe(item -> System.out.println("Processing item with value: " + item),
         error -> System.err.println("An error occurred: " + error),
         () -> System.out.println("Processing complete."));

Process one page at a time

To process one page at a time, starting from the beginning, use byPage() method.

pagedFluxBase
     .byPage()
     .log()
     .subscribe(page -> System.out.printf("Processing page containing item values: %s%n",
         page.getElements().stream().map(String::valueOf).collect(Collectors.joining(", "))),
         error -> System.err.println("An error occurred: " + error),
         () -> System.out.println("Processing complete."));

Process items starting from a continuation token

To process items one page at a time starting from any page associated with a continuation token, use byPage(String continuationToken).

String continuationToken = getContinuationToken();
 pagedFluxBase
     .byPage(continuationToken)
     .log()
     .doOnSubscribe(ignored -> System.out.println(
         "Subscribed to paged flux processing pages starting from: " + continuationToken))
     .subscribe(page -> System.out.printf("Processing page containing item values: %s%n",
         page.getElements().stream().map(String::valueOf).collect(Collectors.joining(", "))),
         error -> System.err.println("An error occurred: " + error),
         () -> System.out.println("Processing complete."));

Constructor Summary

Constructor Description
PagedFluxBase(Supplier<Mono<P>> firstPageRetriever)

Creates an instance of PagedFluxBase<T,P> that consists of only a single page.

PagedFluxBase(Supplier<Mono<P>> firstPageRetriever, Function<String,Mono<P>> nextPageRetriever)

Creates an instance of PagedFluxBase<T,P>.

Method Summary

Modifier and Type Method and Description
reactor.core.publisher.Flux<P> byPage()

Creates a Flux of PagedResponse<T> starting from the first page.

reactor.core.publisher.Flux<P> byPage(String continuationToken)

Creates a Flux of PagedResponse<T> starting from the next page associated with the given continuation token.

void subscribe(CoreSubscriber<? super T> coreSubscriber)

Subscribe to consume all items of type T in the sequence respectively.

Methods inherited from ContinuablePagedFlux

Methods inherited from ContinuablePagedFluxCore

byPage byPage byPage byPage getPageSize com.azure.core.util.paging.ContinuablePagedFluxCore.subscribe(reactor.core.CoreSubscriber<

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.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

PagedFluxBase

public PagedFluxBase(Supplier<Mono

> firstPageRetriever)

Creates an instance of PagedFluxBase<T,P> that consists of only a single page. This constructor takes a Supplier that return the single page of T.

Code sample

// A supplier that fetches the first page of data from source/service
 Supplier<Mono<PagedResponse<Integer>>> firstPageRetrieverFunction = () -> getFirstPage();

 PagedFluxBase<Integer, PagedResponse<Integer>> pagedFluxBaseInstance =
     new PagedFluxBase<>(firstPageRetrieverFunction,
         nextPageRetriever);

Parameters:

firstPageRetriever - Supplier that retrieves the first page.

PagedFluxBase

public PagedFluxBase(Supplier<Mono

> firstPageRetriever, Function<String,Mono

> nextPageRetriever)

Creates an instance of PagedFluxBase<T,P>. The constructor takes a Supplier and Function. The Supplier returns the first page of T, the Function retrieves subsequent pages of T.

Code sample

// A supplier that fetches the first page of data from source/service
 Supplier<Mono<PagedResponse<Integer>>> firstPageRetriever = () -> getFirstPage();

 // A function that fetches subsequent pages of data from source/service given a continuation token
 Function<String, Mono<PagedResponse<Integer>>> nextPageRetriever =
     continuationToken -> getNextPage(continuationToken);

 PagedFluxBase<Integer, PagedResponse<Integer>> pagedFluxBase = new PagedFluxBase<>(firstPageRetriever,
     nextPageRetriever);

Parameters:

firstPageRetriever - Supplier that retrieves the first page
nextPageRetriever - Function that retrieves the next page given a continuation token

Method Details

byPage

public Flux

byPage()

Creates a Flux of PagedResponse<T> starting from the first page.

Code sample

// Start processing the results from first page
 pagedFluxBase.byPage()
     .log()
     .doOnSubscribe(ignoredVal -> System.out.println(
         "Subscribed to paged flux processing pages starting from first page"))
     .subscribe(page -> System.out.printf("Processing page containing item values: %s%n",
         page.getElements().stream().map(String::valueOf).collect(Collectors.joining(", "))),
         error -> System.err.println("An error occurred: " + error),
         () -> System.out.println("Processing complete."));

Overrides:

PagedFluxBase<T,P>.byPage()

Returns:

A PagedFluxBase<T,P> starting from the first page

byPage

public Flux

byPage(String continuationToken)

Creates a Flux of PagedResponse<T> starting from the next page associated with the given continuation token. To start from first page, use byPage() instead.

Code sample

// Start processing the results from a page associated with the continuation token
 String continuationToken = getContinuationToken();
 pagedFluxBase.byPage(continuationToken)
     .log()
     .doOnSubscribe(ignoredVal -> System.out.println(
         "Subscribed to paged flux processing page starting from " + continuationToken))
     .subscribe(page -> System.out.printf("Processing page containing item values: %s%n",
         page.getElements().stream().map(String::valueOf).collect(Collectors.joining(", "))),
         error -> System.err.println("An error occurred: " + error),
         () -> System.out.println("Processing complete."));

Overrides:

PagedFluxBase<T,P>.byPage(String continuationToken)

Parameters:

continuationToken - The continuation token used to fetch the next page

Returns:

A PagedFluxBase<T,P> starting from the page associated with the continuation token

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.

Code sample

pagedFluxBase.subscribe(new BaseSubscriber<Integer>() {
     @Override
     protected void hookOnSubscribe(Subscription subscription) {
         System.out.println("Subscribed to paged flux processing items");
         super.hookOnSubscribe(subscription);
     }

     @Override
     protected void hookOnNext(Integer value) {
         System.out.println("Processing item with value: " + value);
     }

     @Override
     protected void hookOnComplete() {
         System.out.println("Processing complete.");
     }
 });

Overrides:

PagedFluxBase<T,P>.subscribe(CoreSubscriber<? super T> coreSubscriber)

Parameters:

coreSubscriber - The subscriber for this PagedFluxBase<T,P>

Applies to