Top Description Inners Fields Constructors Methods
io.reactivex.internal.operators.completable

public final Class CompletableCache

extends Completable
implements CompletableObserver
Class Inheritance
All Implemented Interfaces
io.reactivex.CompletableObserver
Imports
java.util.concurrent.atomic.*, io.reactivex.*, io.reactivex.disposables.Disposable

Consume the upstream source exactly once and cache its terminal event.

History: 2.0.4 - experimental

Since
2.1

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv class

Field Summary

Modifier and TypeField and Description
pack-priv static final CompletableCache.InnerCompletableCache[]
pack-priv Throwable
pack-priv final AtomicReference<CompletableCache.InnerCompletableCache[]>
pack-priv final AtomicBoolean
pack-priv final CompletableSource
pack-priv static final CompletableCache.InnerCompletableCache[]

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
pack-priv boolean
public void
onComplete()

Implements io.reactivex.CompletableObserver.onComplete.

Called once the deferred computation completes normally.
public void
onError(Throwable
the exception, not null.
e
)

Implements io.reactivex.CompletableObserver.onError.

Called once if the deferred computation 'throws' an exception.
public void
onSubscribe(Disposable
the Disposable instance to call dispose on for cancellation, not null
d
)

Implements io.reactivex.CompletableObserver.onSubscribe.

Called once by the Completable to set a Disposable on this instance which then can be used to cancel the subscription at any time.
pack-priv void
protected void
subscribeActual(CompletableObserver
the CompletableObserver instance, never null
observer
)

Implements abstract io.reactivex.Completable.subscribeActual.

Implement this method to handle the incoming CompletableObservers and perform the business logic in your operator.
Inherited from io.reactivex.Completable:
ambambArrayambWithandThenandThenandThenandThenandThenasblockingAwaitblockingAwaitblockingGetblockingGetcachecompletecomposeconcatconcatconcatconcatArrayconcatWithcreatedeferdelaydelaydelaydelaySubscriptiondelaySubscriptiondoAfterTerminatedoFinallydoOnCompletedoOnDisposedoOnErrordoOnEventdoOnSubscribedoOnTerminateerrorerrorfromActionfromCallablefromFuturefromMaybefromObservablefromPublisherfromRunnablefromSinglehideliftmaterializemergemergemergemergeArraymergeArrayDelayErrormergeDelayErrormergeDelayErrormergeDelayErrormergeWithneverobserveOnonErrorCompleteonErrorCompleteonErrorResumeNextonTerminateDetachrepeatrepeatrepeatUntilrepeatWhenretryretryretryretryretryretryWhenstartWithstartWithstartWithsubscribesubscribesubscribesubscribesubscribeOnsubscribeWithtakeUntiltesttesttimeouttimeouttimeouttimeouttimertimertotoFlowabletoMaybetoObservabletoSingletoSingleDefaultunsafeCreateunsubscribeOnusingusingwrap

Field Detail

EMPTYback to summary
pack-priv static final CompletableCache.InnerCompletableCache[] EMPTY
errorback to summary
pack-priv Throwable error
observersback to summary
pack-priv final AtomicReference<CompletableCache.InnerCompletableCache[]> observers
onceback to summary
pack-priv final AtomicBoolean once
sourceback to summary
pack-priv final CompletableSource source
TERMINATEDback to summary
pack-priv static final CompletableCache.InnerCompletableCache[] TERMINATED

Constructor Detail

CompletableCacheback to summary
public CompletableCache(CompletableSource source)

Method Detail

addback to summary
pack-priv boolean add(CompletableCache.InnerCompletableCache inner)
onCompleteback to summary
public void onComplete()

Implements io.reactivex.CompletableObserver.onComplete.

Doc from io.reactivex.CompletableObserver.onComplete.

Called once the deferred computation completes normally.

Annotations
@Override
onErrorback to summary
public void onError(Throwable e)

Implements io.reactivex.CompletableObserver.onError.

Doc from io.reactivex.CompletableObserver.onError.

Called once if the deferred computation 'throws' an exception.

Parameters
e:Throwable

the exception, not null.

Annotations
@Override
onSubscribeback to summary
public void onSubscribe(Disposable d)

Implements io.reactivex.CompletableObserver.onSubscribe.

Doc from io.reactivex.CompletableObserver.onSubscribe.

Called once by the Completable to set a Disposable on this instance which then can be used to cancel the subscription at any time.

Parameters
d:Disposable

the Disposable instance to call dispose on for cancellation, not null

Annotations
@Override
removeback to summary
pack-priv void remove(CompletableCache.InnerCompletableCache inner)
subscribeActualback to summary
protected void subscribeActual(CompletableObserver observer)

Implements abstract io.reactivex.Completable.subscribeActual.

Doc from io.reactivex.Completable.subscribeActual.

Implement this method to handle the incoming CompletableObservers and perform the business logic in your operator.

There is no need to call any of the plugin hooks on the current Completable instance or the CompletableObserver; all hooks and basic safeguards have been applied by subscribe(CompletableObserver) before this method gets called.

Parameters
observer:CompletableObserver

the CompletableObserver instance, never null

Annotations
@Override
io.reactivex.internal.operators.completable back to summary

pack-priv final Class CompletableCache.InnerCompletableCache

extends AtomicBoolean
implements Disposable
Class Inheritance
All Implemented Interfaces
io.reactivex.disposables.Disposable

Field Summary

Modifier and TypeField and Description
pack-priv final CompletableObserver
private static final long

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
dispose()

Implements io.reactivex.disposables.Disposable.dispose.

Dispose the resource, the operation should be idempotent.
public boolean
isDisposed()

Implements io.reactivex.disposables.Disposable.isDisposed.

Returns true if this resource has been disposed.
Inherited from java.util.concurrent.atomic.AtomicBoolean:
compareAndExchangecompareAndExchangeAcquirecompareAndExchangeReleasecompareAndSetgetgetAcquiregetAndSetgetOpaquegetPlainlazySetsetsetOpaquesetPlainsetReleasetoStringweakCompareAndSetweakCompareAndSetAcquireweakCompareAndSetPlainweakCompareAndSetReleaseweakCompareAndSetVolatile

Field Detail

downstreamback to summary
pack-priv final CompletableObserver downstream
serialVersionUIDback to summary
private static final long serialVersionUID

Hides java.util.concurrent.atomic.AtomicBoolean.serialVersionUID.

Constructor Detail

InnerCompletableCacheback to summary
pack-priv InnerCompletableCache(CompletableObserver downstream)

Method Detail

disposeback to summary
public void dispose()

Implements io.reactivex.disposables.Disposable.dispose.

Doc from io.reactivex.disposables.Disposable.dispose.

Dispose the resource, the operation should be idempotent.

Annotations
@Override
isDisposedback to summary
public boolean isDisposed()

Implements io.reactivex.disposables.Disposable.isDisposed.

Doc from io.reactivex.disposables.Disposable.isDisposed.

Returns true if this resource has been disposed.

Returns:boolean

true if this resource has been disposed

Annotations
@Override