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:
-
ContinuablePage
CosmosPagedFluxOptions
FeedResponse
-
Method Summary
Modifier and TypeMethodDescriptionbyPage()
Gets aFlux
ofFeedResponse
starting at the first page.byPage
(int preferredPageSize) Gets aFlux
ofFeedResponse
starting at the first page requesting each page to contain a number of elements equal to the preferred page size.Gets aFlux
ofFeedResponse
beginning at the page identified by the given continuation token.Gets aFlux
ofFeedResponse
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.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 CosmosPagedFluxvoid
subscribe
(CoreSubscriber<? super T> coreSubscriber) Subscribe to consume all items of typeT
in the sequence respectively.Methods inherited from class com.azure.core.util.paging.ContinuablePagedFlux
getContinuationPredicate
Methods 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, 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, contextWrite, contextWrite, count, create, create, defaultIfEmpty, defer, deferContextual, deferWithContext, 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, subscriberContext, subscriberContext, subscribeWith, switchIfEmpty, switchMap, switchMap, switchOnFirst, switchOnFirst, switchOnNext, switchOnNext, tag, take, take, take, take, takeLast, takeUntil, takeUntilOther, takeWhile, 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, 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 aFlux
ofFeedResponse
starting at the first page.- Specified by:
byPage
in classcom.azure.core.util.paging.ContinuablePagedFlux<String,
T, FeedResponse<T>> - Returns:
- A
Flux
ofFeedResponse
.
-
byPage
Gets aFlux
ofFeedResponse
beginning at the page identified by the given continuation token.- Specified by:
byPage
in classcom.azure.core.util.paging.ContinuablePagedFlux<String,
T, FeedResponse<T>> - Parameters:
continuationToken
- A continuation token identifying the page to select.- Returns:
- A
Flux
ofFeedResponse
.
-
byPage
Gets aFlux
ofFeedResponse
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.
- Specified by:
byPage
in classcom.azure.core.util.paging.ContinuablePagedFlux<String,
T, FeedResponse<T>> - Parameters:
preferredPageSize
- The preferred page size.- Returns:
- A
Flux
ofFeedResponse
.
-
byPage
Gets aFlux
ofFeedResponse
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.
- Specified by:
byPage
in 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
Flux
ofFeedResponse
.
-
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 typeT
in the sequence respectively. This is recommended for most common scenarios. This will seamlessly fetch next page when required and provide with aFlux
of items.- Specified by:
subscribe
in interfaceCorePublisher<T>
- Specified by:
subscribe
in 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
-