Class CompletableCache
- java.lang.Object
-
- io.reactivex.rxjava3.core.Completable
-
- io.reactivex.rxjava3.internal.operators.completable.CompletableCache
-
- All Implemented Interfaces:
CompletableObserver,CompletableSource
public final class CompletableCache extends Completable implements CompletableObserver
Consume the upstream source exactly once and cache its terminal event.History: 2.0.4 - experimental
- Since:
- 2.1
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classCompletableCache.InnerCompletableCache
-
Field Summary
Fields Modifier and Type Field Description (package private) static CompletableCache.InnerCompletableCache[]EMPTY(package private) java.lang.Throwableerror(package private) java.util.concurrent.atomic.AtomicReference<CompletableCache.InnerCompletableCache[]>observers(package private) java.util.concurrent.atomic.AtomicBooleanonce(package private) CompletableSourcesource(package private) static CompletableCache.InnerCompletableCache[]TERMINATED
-
Constructor Summary
Constructors Constructor Description CompletableCache(CompletableSource source)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) booleanadd(CompletableCache.InnerCompletableCache inner)voidonComplete()Called once the deferred computation completes normally.voidonError(java.lang.Throwable e)Called once if the deferred computation 'throws' an exception.voidonSubscribe(Disposable d)Called once by theCompletableto set aDisposableon this instance which then can be used to cancel the subscription at any time.(package private) voidremove(CompletableCache.InnerCompletableCache inner)protected voidsubscribeActual(CompletableObserver observer)Implement this method to handle the incomingCompletableObservers and perform the business logic in your operator.-
Methods inherited from class io.reactivex.rxjava3.core.Completable
amb, ambArray, ambWith, andThen, andThen, andThen, andThen, andThen, blockingAwait, blockingAwait, blockingSubscribe, blockingSubscribe, blockingSubscribe, blockingSubscribe, cache, complete, compose, concat, concat, concat, concatArray, concatArrayDelayError, concatDelayError, concatDelayError, concatDelayError, concatWith, create, defer, delay, delay, delay, delaySubscription, delaySubscription, doAfterTerminate, doFinally, doOnComplete, doOnDispose, doOnError, doOnEvent, doOnLifecycle, doOnSubscribe, doOnTerminate, error, error, fromAction, fromCallable, fromCompletionStage, fromFuture, fromMaybe, fromObservable, fromPublisher, fromRunnable, fromSingle, fromSupplier, hide, lift, materialize, merge, merge, merge, mergeArray, mergeArrayDelayError, mergeDelayError, mergeDelayError, mergeDelayError, mergeWith, never, observeOn, onErrorComplete, onErrorComplete, onErrorResumeNext, onErrorResumeWith, onErrorReturn, onErrorReturnItem, onTerminateDetach, repeat, repeat, repeatUntil, repeatWhen, retry, retry, retry, retry, retry, retryUntil, retryWhen, safeSubscribe, sequenceEqual, startWith, startWith, startWith, startWith, startWith, subscribe, subscribe, subscribe, subscribe, subscribe, subscribeOn, subscribeWith, switchOnNext, switchOnNextDelayError, takeUntil, test, test, timeout, timeout, timeout, timeout, timer, timer, to, toCompletionStage, toFlowable, toFuture, toMaybe, toObservable, toSingle, toSingleDefault, unsafeCreate, unsubscribeOn, using, using, wrap
-
-
-
-
Field Detail
-
EMPTY
static final CompletableCache.InnerCompletableCache[] EMPTY
-
TERMINATED
static final CompletableCache.InnerCompletableCache[] TERMINATED
-
source
final CompletableSource source
-
observers
final java.util.concurrent.atomic.AtomicReference<CompletableCache.InnerCompletableCache[]> observers
-
once
final java.util.concurrent.atomic.AtomicBoolean once
-
error
java.lang.Throwable error
-
-
Constructor Detail
-
CompletableCache
public CompletableCache(CompletableSource source)
-
-
Method Detail
-
subscribeActual
protected void subscribeActual(CompletableObserver observer)
Description copied from class:CompletableImplement this method to handle the incomingCompletableObservers and perform the business logic in your operator.There is no need to call any of the plugin hooks on the current
Completableinstance or theCompletableObserver; all hooks and basic safeguards have been applied byCompletable.subscribe(CompletableObserver)before this method gets called.- Specified by:
subscribeActualin classCompletable- Parameters:
observer- theCompletableObserverinstance, nevernull
-
onSubscribe
public void onSubscribe(Disposable d)
Description copied from interface:CompletableObserverCalled once by theCompletableto set aDisposableon this instance which then can be used to cancel the subscription at any time.- Specified by:
onSubscribein interfaceCompletableObserver- Parameters:
d- theDisposableinstance to call dispose on for cancellation, not null
-
onError
public void onError(java.lang.Throwable e)
Description copied from interface:CompletableObserverCalled once if the deferred computation 'throws' an exception.- Specified by:
onErrorin interfaceCompletableObserver- Parameters:
e- the exception, notnull.
-
onComplete
public void onComplete()
Description copied from interface:CompletableObserverCalled once the deferred computation completes normally.- Specified by:
onCompletein interfaceCompletableObserver
-
add
boolean add(CompletableCache.InnerCompletableCache inner)
-
remove
void remove(CompletableCache.InnerCompletableCache inner)
-
-