Package com.azure.cosmos.util
Class CosmosPagedFlux<T>
java.lang.Object
reactor.core.publisher.Flux<T>
com.azure.core.util.paging.ContinuablePagedFlux<String,T,FeedResponse<T>>
com.azure.cosmos.util.CosmosPagedFlux<T>
- Type Parameters:
T- The type of elements in aContinuablePage
- All Implemented Interfaces:
org.reactivestreams.Publisher<T>,CorePublisher<T>
public class CosmosPagedFlux<T>
extends com.azure.core.util.paging.ContinuablePagedFlux<String,T,FeedResponse<T>>
Cosmos implementation of
ContinuablePagedFlux.
This type is a Flux that provides the ability to operate on pages of type FeedResponse and individual items
in such pages. This type supports String type continuation tokens, allowing for restarting from a
previously-retrieved continuation token.
For more information on the base type, refer ContinuablePagedFlux
- See Also:
-
ContinuablePageCosmosPagedFluxOptionsFeedResponse
-
Method Summary
Modifier and TypeMethodDescriptionbyPage()Gets aFluxofFeedResponsestarting at the first page.byPage(int preferredPageSize) Gets aFluxofFeedResponsestarting at the first page requesting each page to contain a number of elements equal to the preferred page size.Gets aFluxofFeedResponsebeginning at the page identified by the given continuation token.Gets aFluxofFeedResponsebeginning at the page identified by the given continuation token requesting each page to contain the number of elements equal to the preferred page size.static <T> CosmosPagedFlux<T>Creates an instance of a CosmosPagedFlux for mocking purposes or when injecting CosmosPagedFlux instances from a different data sourcehandle(Consumer<FeedResponse<T>> newFeedResponseConsumer) Handle for invoking "side-effects" on each FeedResponse returned by CosmosPagedFluxvoidsubscribe(CoreSubscriber<? super T> coreSubscriber) Subscribe to consume all items of typeTin the sequence respectively.Methods inherited from class com.azure.core.util.paging.ContinuablePagedFlux
getContinuationPredicateMethods inherited from class reactor.core.publisher.Flux
all, any, as, blockFirst, blockFirst, blockLast, blockLast, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, bufferTimeout, bufferTimeout, bufferTimeout, bufferTimeout, bufferTimeout, bufferTimeout, bufferTimeout, bufferTimeout, bufferUntil, bufferUntil, bufferUntilChanged, bufferUntilChanged, bufferUntilChanged, bufferWhen, bufferWhen, bufferWhile, cache, cache, cache, cache, cache, cache, cancelOn, cast, checkpoint, checkpoint, checkpoint, collect, collect, collectList, collectMap, collectMap, collectMap, collectMultimap, collectMultimap, collectMultimap, collectSortedList, collectSortedList, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, concat, concat, concat, concat, concatDelayError, concatDelayError, concatDelayError, concatDelayError, concatMap, concatMap, concatMapDelayError, concatMapDelayError, concatMapDelayError, concatMapIterable, concatMapIterable, concatWith, concatWithValues, contextCapture, contextWrite, contextWrite, count, create, create, defaultIfEmpty, defer, deferContextual, delayElements, delayElements, delaySequence, delaySequence, delaySubscription, delaySubscription, delaySubscription, delayUntil, dematerialize, distinct, distinct, distinct, distinct, distinctUntilChanged, distinctUntilChanged, distinctUntilChanged, doAfterTerminate, doFinally, doFirst, doOnCancel, doOnComplete, doOnDiscard, doOnEach, doOnError, doOnError, doOnError, doOnNext, doOnRequest, doOnSubscribe, doOnTerminate, elapsed, elapsed, elementAt, elementAt, empty, error, error, error, expand, expand, expandDeep, expandDeep, filter, filterWhen, filterWhen, first, first, firstWithSignal, firstWithSignal, firstWithValue, firstWithValue, flatMap, flatMap, flatMap, flatMap, flatMapDelayError, flatMapIterable, flatMapIterable, flatMapSequential, flatMapSequential, flatMapSequential, flatMapSequentialDelayError, from, fromArray, fromIterable, fromStream, fromStream, generate, generate, generate, getPrefetch, groupBy, groupBy, groupBy, groupBy, groupJoin, handle, hasElement, hasElements, hide, ignoreElements, index, index, interval, interval, interval, interval, join, just, just, last, last, limitRate, limitRate, limitRequest, log, log, log, log, log, log, map, mapNotNull, materialize, merge, merge, merge, merge, merge, merge, mergeComparing, mergeComparing, mergeComparing, mergeComparingDelayError, mergeComparingWith, mergeDelayError, mergeOrdered, mergeOrdered, mergeOrdered, mergeOrderedWith, mergePriority, mergePriority, mergePriority, mergePriorityDelayError, mergeSequential, mergeSequential, mergeSequential, mergeSequential, mergeSequential, mergeSequential, mergeSequentialDelayError, mergeSequentialDelayError, mergeSequentialDelayError, mergeWith, metrics, name, never, next, ofType, onAssembly, onAssembly, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureBuffer, onBackpressureDrop, onBackpressureDrop, onBackpressureError, onBackpressureLatest, onErrorComplete, onErrorComplete, onErrorComplete, onErrorContinue, onErrorContinue, onErrorContinue, onErrorMap, onErrorMap, onErrorMap, onErrorResume, onErrorResume, onErrorResume, onErrorReturn, onErrorReturn, onErrorReturn, onErrorStop, onTerminateDetach, or, parallel, parallel, parallel, publish, publish, publish, publish, publishNext, publishOn, publishOn, publishOn, push, push, range, reduce, reduce, reduceWith, repeat, repeat, repeat, repeat, repeatWhen, replay, replay, replay, replay, replay, replay, retry, retry, retryWhen, sample, sample, sampleFirst, sampleFirst, sampleTimeout, sampleTimeout, scan, scan, scanWith, share, shareNext, single, single, singleOrEmpty, skip, skip, skip, skipLast, skipUntil, skipUntilOther, skipWhile, sort, sort, startWith, startWith, startWith, subscribe, subscribe, subscribe, subscribe, subscribe, subscribe, subscribe, subscribeOn, subscribeOn, subscribeWith, switchIfEmpty, switchMap, switchMap, switchOnFirst, switchOnFirst, switchOnNext, switchOnNext, tag, take, take, take, take, takeLast, takeUntil, takeUntilOther, takeWhile, tap, tap, tap, then, then, thenEmpty, thenMany, timed, timed, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timestamp, timestamp, toIterable, toIterable, toIterable, toStream, toStream, toString, transform, transformDeferred, transformDeferredContextual, using, using, using, using, usingWhen, usingWhen, window, window, window, window, window, window, window, windowTimeout, windowTimeout, windowTimeout, windowTimeout, windowUntil, windowUntil, windowUntil, windowUntilChanged, windowUntilChanged, windowUntilChanged, windowWhen, windowWhile, windowWhile, withLatestFrom, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zipWith, zipWith, zipWith, zipWith, zipWithIterable, zipWithIterable
-
Method Details
-
byPage
Gets aFluxofFeedResponsestarting at the first page.- Specified by:
byPagein classcom.azure.core.util.paging.ContinuablePagedFlux<String,T, FeedResponse<T>> - Returns:
- A
FluxofFeedResponse.
-
byPage
Gets aFluxofFeedResponsebeginning at the page identified by the given continuation token.- Specified by:
byPagein classcom.azure.core.util.paging.ContinuablePagedFlux<String,T, FeedResponse<T>> - Parameters:
continuationToken- A continuation token identifying the page to select.- Returns:
- A
FluxofFeedResponse.
-
byPage
Gets aFluxofFeedResponsestarting 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.
- Specified by:
byPagein classcom.azure.core.util.paging.ContinuablePagedFlux<String,T, FeedResponse<T>> - Parameters:
preferredPageSize- The preferred page size.- Returns:
- A
FluxofFeedResponse.
-
byPage
Gets aFluxofFeedResponsebeginning 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.
- Specified by:
byPagein classcom.azure.core.util.paging.ContinuablePagedFlux<String,T, FeedResponse<T>> - Parameters:
continuationToken- A continuation token identifying the page to select.preferredPageSize- The preferred page size.- Returns:
- A
FluxofFeedResponse.
-
handle
Handle for invoking "side-effects" on each FeedResponse returned by CosmosPagedFlux- Parameters:
newFeedResponseConsumer- handler- Returns:
- CosmosPagedFlux instance with attached handler
-
subscribe
Subscribe to consume all items of typeTin the sequence respectively. This is recommended for most common scenarios. This will seamlessly fetch next page when required and provide with aFluxof items.- Specified by:
subscribein interfaceCorePublisher<T>- Specified by:
subscribein classFlux<T>- Parameters:
coreSubscriber- The subscriber for thisCosmosPagedFlux
-
fromList
Creates an instance of a CosmosPagedFlux for mocking purposes or when injecting CosmosPagedFlux instances from a different data source- Type Parameters:
T- The type of the items- Parameters:
items- - the list of items to be returnedisChangeFeed- - a flag indicating whether the CosmosPagedFlux will be returned from a change feed API- Returns:
- an instance of CosmosPagedFlux
-