Class ObservableReplay<T>
java.lang.Object
io.reactivex.rxjava3.core.Observable<T>
io.reactivex.rxjava3.observables.ConnectableObservable<T>
io.reactivex.rxjava3.internal.operators.observable.ObservableReplay<T>
- All Implemented Interfaces:
ObservableSource<T>, HasUpstreamObservableSource<T>
public final class ObservableReplay<T>
extends ConnectableObservable<T>
implements HasUpstreamObservableSource<T>
-
Method Summary
Modifier and TypeMethodDescriptionvoidconnect(Consumer<? super Disposable> connection) Instructs theConnectableObservableto begin emitting the items from its underlyingObservableto itsObservers.static <T> ConnectableObservable<T> create(ObservableSource<T> source, int bufferSize, boolean eagerTruncate) Creates a replaying ConnectableObservable with a size bound buffer.static <T> ConnectableObservable<T> create(ObservableSource<T> source, long maxAge, TimeUnit unit, Scheduler scheduler, boolean eagerTruncate) Creates a replaying ConnectableObservable with a time bound buffer.static <T> ConnectableObservable<T> create(ObservableSource<T> source, long maxAge, TimeUnit unit, Scheduler scheduler, int bufferSize, boolean eagerTruncate) Creates a replaying ConnectableObservable with a size and time bound buffer.static <T> ConnectableObservable<T> createFrom(ObservableSource<? extends T> source) Creates a replaying ConnectableObservable with an unbounded buffer.static <U,R> Observable <R> multicastSelector(Supplier<? extends ConnectableObservable<U>> connectableFactory, Function<? super Observable<U>, ? extends ObservableSource<R>> selector) Given a connectable observable factory, it multicasts over the generated ConnectableObservable via a selector function.voidreset()Resets thisConnectableObservableinto its fresh state if it has terminated or has been disposed.source()Returns the upstream source of this Observable.protected voidsubscribeActual(Observer<? super T> observer) Operator implementations (both source and intermediate) should implement this method that performs the necessary business logic and handles the incomingObservers.Methods inherited from class ConnectableObservable
autoConnect, autoConnect, autoConnect, connect, refCount, refCount, refCount, refCount, refCount, refCountMethods inherited from class Observable
all, amb, ambArray, ambWith, any, blockingFirst, blockingFirst, blockingForEach, blockingForEach, blockingIterable, blockingIterable, blockingLast, blockingLast, blockingLatest, blockingMostRecent, blockingNext, blockingSingle, blockingSingle, blockingStream, blockingStream, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, buffer, bufferSize, cache, cacheWithInitialCapacity, cast, collect, collect, collectInto, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatest, combineLatestArray, combineLatestArray, combineLatestArrayDelayError, combineLatestArrayDelayError, combineLatestDelayError, combineLatestDelayError, compose, concat, concat, concat, concat, concat, concat, concatArray, concatArrayDelayError, concatArrayEager, concatArrayEager, concatArrayEagerDelayError, concatArrayEagerDelayError, concatDelayError, concatDelayError, concatDelayError, concatEager, concatEager, concatEager, concatEager, concatEagerDelayError, concatEagerDelayError, concatEagerDelayError, concatEagerDelayError, concatMap, concatMap, concatMap, concatMapCompletable, concatMapCompletable, concatMapCompletableDelayError, concatMapCompletableDelayError, concatMapCompletableDelayError, concatMapDelayError, concatMapDelayError, concatMapDelayError, concatMapEager, concatMapEager, concatMapEagerDelayError, concatMapEagerDelayError, concatMapIterable, concatMapMaybe, concatMapMaybe, concatMapMaybeDelayError, concatMapMaybeDelayError, concatMapMaybeDelayError, concatMapSingle, concatMapSingle, concatMapSingleDelayError, concatMapSingleDelayError, concatMapSingleDelayError, concatMapStream, concatWith, concatWith, concatWith, concatWith, contains, count, create, debounce, debounce, debounce, debounce, defaultIfEmpty, defer, delay, delay, delay, delay, delay, delay, delaySubscription, delaySubscription, delaySubscription, dematerialize, distinct, distinct, distinct, distinctUntilChanged, distinctUntilChanged, distinctUntilChanged, doAfterNext, doAfterTerminate, doFinally, doOnComplete, doOnDispose, doOnEach, doOnEach, doOnError, doOnLifecycle, doOnNext, doOnSubscribe, doOnTerminate, elementAt, elementAt, elementAtOrError, empty, error, error, filter, first, firstElement, firstOrError, firstOrErrorStage, firstStage, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMap, flatMapCompletable, flatMapCompletable, flatMapIterable, flatMapIterable, flatMapMaybe, flatMapMaybe, flatMapSingle, flatMapSingle, flatMapStream, forEach, forEachWhile, forEachWhile, forEachWhile, fromAction, fromArray, fromCallable, fromCompletable, fromCompletionStage, fromFuture, fromFuture, fromIterable, fromMaybe, fromOptional, fromPublisher, fromRunnable, fromSingle, fromStream, fromSupplier, generate, generate, generate, generate, generate, groupBy, groupBy, groupBy, groupBy, groupBy, groupJoin, hide, ignoreElements, interval, interval, interval, interval, intervalRange, intervalRange, isEmpty, join, just, just, just, just, just, just, just, just, just, just, last, lastElement, lastOrError, lastOrErrorStage, lastStage, lift, map, mapOptional, materialize, merge, merge, merge, merge, merge, merge, merge, merge, mergeArray, mergeArray, mergeArrayDelayError, mergeArrayDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeWith, mergeWith, mergeWith, mergeWith, never, observeOn, observeOn, observeOn, ofType, onErrorComplete, onErrorComplete, onErrorResumeNext, onErrorResumeWith, onErrorReturn, onErrorReturnItem, onTerminateDetach, publish, publish, range, rangeLong, reduce, reduce, reduceWith, repeat, repeat, repeatUntil, repeatWhen, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, replay, retry, retry, retry, retry, retry, retryUntil, retryWhen, safeSubscribe, sample, sample, sample, sample, sample, sample, sample, scan, scan, scanWith, sequenceEqual, sequenceEqual, sequenceEqual, sequenceEqual, serialize, share, single, singleElement, singleOrError, singleOrErrorStage, singleStage, skip, skip, skip, skipLast, skipLast, skipLast, skipLast, skipLast, skipLast, skipUntil, skipWhile, sorted, sorted, startWith, startWith, startWith, startWith, startWithArray, startWithItem, startWithIterable, subscribe, subscribe, subscribe, subscribe, subscribe, subscribe, subscribeOn, subscribeWith, switchIfEmpty, switchMap, switchMap, switchMapCompletable, switchMapCompletableDelayError, switchMapDelayError, switchMapDelayError, switchMapMaybe, switchMapMaybeDelayError, switchMapSingle, switchMapSingleDelayError, switchOnNext, switchOnNext, switchOnNextDelayError, switchOnNextDelayError, take, take, take, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeLast, takeUntil, takeUntil, takeWhile, test, test, throttleFirst, throttleFirst, throttleFirst, throttleLast, throttleLast, throttleLast, throttleLatest, throttleLatest, throttleLatest, throttleLatest, throttleLatest, throttleWithTimeout, throttleWithTimeout, throttleWithTimeout, timeInterval, timeInterval, timeInterval, timeInterval, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timeout, timer, timer, timestamp, timestamp, timestamp, timestamp, to, toFlowable, toFuture, toList, toList, toList, toMap, toMap, toMap, toMultimap, toMultimap, toMultimap, toMultimap, toSortedList, toSortedList, toSortedList, toSortedList, unsafeCreate, unsubscribeOn, using, using, window, window, window, window, window, window, window, window, window, window, window, window, window, window, window, window, window, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, withLatestFrom, wrap, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zip, zipArray, zipWith, zipWith, zipWith, zipWith
-
Method Details
-
multicastSelector
public static <U,R> Observable<R> multicastSelector(Supplier<? extends ConnectableObservable<U>> connectableFactory, Function<? super Observable<U>, ? extends ObservableSource<R>> selector) Given a connectable observable factory, it multicasts over the generated ConnectableObservable via a selector function.- Type Parameters:
U- the value type of the ConnectableObservableR- the result value type- Parameters:
connectableFactory- the factory that returns a ConnectableObservable for each individual subscriberselector- the function that receives an Observable and should return another Observable that will be subscribed to- Returns:
- the new Observable instance
-
createFrom
Creates a replaying ConnectableObservable with an unbounded buffer.- Type Parameters:
T- the value type- Parameters:
source- the source observable- Returns:
- the new ConnectableObservable instance
-
create
public static <T> ConnectableObservable<T> create(ObservableSource<T> source, int bufferSize, boolean eagerTruncate) Creates a replaying ConnectableObservable with a size bound buffer.- Type Parameters:
T- the value type- Parameters:
source- the source ObservableSource to usebufferSize- the maximum number of elements to holdeagerTruncate- if true, the head reference is refreshed to avoid unwanted item retention- Returns:
- the new ConnectableObservable instance
-
create
public static <T> ConnectableObservable<T> create(ObservableSource<T> source, long maxAge, TimeUnit unit, Scheduler scheduler, boolean eagerTruncate) Creates a replaying ConnectableObservable with a time bound buffer.- Type Parameters:
T- the value type- Parameters:
source- the source ObservableSource to usemaxAge- the maximum age of entriesunit- the unit of measure of the age amountscheduler- the target scheduler providing the current timeeagerTruncate- if true, the head reference is refreshed to avoid unwanted item retention- Returns:
- the new ConnectableObservable instance
-
create
public static <T> ConnectableObservable<T> create(ObservableSource<T> source, long maxAge, TimeUnit unit, Scheduler scheduler, int bufferSize, boolean eagerTruncate) Creates a replaying ConnectableObservable with a size and time bound buffer.- Type Parameters:
T- the value type- Parameters:
source- the source ObservableSource to usemaxAge- the maximum age of entriesunit- the unit of measure of the age amountscheduler- the target scheduler providing the current timebufferSize- the maximum number of elements to holdeagerTruncate- if true, the head reference is refreshed to avoid unwanted item retention- Returns:
- the new ConnectableObservable instance
-
source
Description copied from interface:HasUpstreamObservableSourceReturns the upstream source of this Observable.Allows discovering the chain of observables.
- Specified by:
sourcein interfaceHasUpstreamObservableSource<T>- Returns:
- the source ObservableSource
-
reset
public void reset()Description copied from class:ConnectableObservableResets thisConnectableObservableinto its fresh state if it has terminated or has been disposed.Calling this method on a fresh or active
ConnectableObservablehas no effect.- Scheduler:
- The behavior is determined by the implementor of this abstract class.
- Specified by:
resetin classConnectableObservable<T>
-
subscribeActual
Description copied from class:ObservableOperator implementations (both source and intermediate) should implement this method that performs the necessary business logic and handles the incomingObservers.There is no need to call any of the plugin hooks on the current
Observableinstance or theObserver; all hooks and basic safeguards have been applied byObservable.subscribe(Observer)before this method gets called.- Specified by:
subscribeActualin classObservable<T>- Parameters:
observer- the incomingObserver, nevernull
-
connect
Description copied from class:ConnectableObservableInstructs theConnectableObservableto begin emitting the items from its underlyingObservableto itsObservers.- Scheduler:
- The behavior is determined by the implementor of this abstract class.
- Specified by:
connectin classConnectableObservable<T>- Parameters:
connection- the action that receives the connection subscription before the subscription to source happens allowing the caller to synchronously disconnect a synchronous source- See Also:
-