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

public final Class FlowableSwitchMapCompletable<T>

extends Completable
Class Inheritance
Type Parameters
<T>
the upstream value type
Imports
java.util.concurrent.atomic.AtomicReference, org.reactivestreams.Subscription, io.reactivex.*, io.reactivex.disposables.Disposable, io.reactivex.exceptions.Exceptions, io.reactivex.functions.Function, io.reactivex.internal.disposables.DisposableHelper, io.reactivex.internal.functions.ObjectHelper, io.reactivex.internal.subscriptions.SubscriptionHelper, io.reactivex.internal.util.*, io.reactivex.plugins.RxJavaPlugins

Maps the upstream values into CompletableSources, subscribes to the newer one while disposing the subscription to the previous CompletableSource, thus keeping at most one active CompletableSource running.

History: 2.1.11 - experimental

Since
2.2

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class

Field Summary

Modifier and TypeField and Description
pack-priv final boolean
pack-priv final Function<? super T, ? extends CompletableSource>
pack-priv final Flowable<T>

Constructor Summary

AccessConstructor and Description
public
FlowableSwitchMapCompletable(Flowable<T> source, Function<? super T, ? extends CompletableSource> mapper, boolean delayErrors)

Method Summary

Modifier and TypeMethod and Description
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

delayErrorsback to summary
pack-priv final boolean delayErrors
mapperback to summary
pack-priv final Function<? super T, ? extends CompletableSource> mapper
sourceback to summary
pack-priv final Flowable<T> source

Constructor Detail

FlowableSwitchMapCompletableback to summary
public FlowableSwitchMapCompletable(Flowable<T> source, Function<? super T, ? extends CompletableSource> mapper, boolean delayErrors)

Method Detail

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.mixed back to summary

pack-priv final Class FlowableSwitchMapCompletable.SwitchMapCompletableObserver<T>

extends Object
implements FlowableSubscriber<T>, Disposable
Class Inheritance
  • java.lang.Object
  • io.reactivex.internal.operators.mixed.FlowableSwitchMapCompletable.SwitchMapCompletableObserver
All Implemented Interfaces
io.reactivex.disposables.Disposable, io.reactivex.FlowableSubscriber, org.reactivestreams.Subscriber

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class

Field Summary

Modifier and TypeField and Description
pack-priv final boolean
pack-priv volatile boolean
pack-priv final CompletableObserver
pack-priv final AtomicThrowable
pack-priv final AtomicReference<FlowableSwitchMapCompletable.SwitchMapCompletableObserver.SwitchMapInnerObserver>
pack-priv static final FlowableSwitchMapCompletable.SwitchMapCompletableObserver.SwitchMapInnerObserver
pack-priv final Function<? super T, ? extends CompletableSource>
pack-priv Subscription

Constructor Summary

AccessConstructor and Description
pack-priv
SwitchMapCompletableObserver(CompletableObserver downstream, Function<? super T, ? extends CompletableSource> mapper, boolean delayErrors)

Method Summary

Modifier and TypeMethod and Description
public void
dispose()

Implements io.reactivex.disposables.Disposable.dispose.

Dispose the resource, the operation should be idempotent.
pack-priv void
pack-priv void
pack-priv void
public boolean
isDisposed()

Implements io.reactivex.disposables.Disposable.isDisposed.

Returns true if this resource has been disposed.
public void
onComplete()

Implements org.reactivestreams.Subscriber.onComplete.

Successful terminal state.
public void
onError(Throwable
the throwable signaled
t
)

Implements org.reactivestreams.Subscriber.onError.

Failed terminal state.
public void
onNext(T
the element signaled
t
)

Implements org.reactivestreams.Subscriber.onNext.

Data notification sent by the Publisher in response to requests to Subscription#request(long).
public void
onSubscribe(Subscription
the Subscription that allows requesting data via Subscription#request(long)
s
)

Implements io.reactivex.FlowableSubscriber.onSubscribe.

Implementors of this method should make sure everything that needs to be visible in onNext(Object) is established before calling Subscription#request(long).
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

delayErrorsback to summary
pack-priv final boolean delayErrors
doneback to summary
pack-priv volatile boolean done
downstreamback to summary
pack-priv final CompletableObserver downstream
errorsback to summary
pack-priv final AtomicThrowable errors
innerback to summary
pack-priv final AtomicReference<FlowableSwitchMapCompletable.SwitchMapCompletableObserver.SwitchMapInnerObserver> inner
INNER_DISPOSEDback to summary
pack-priv static final FlowableSwitchMapCompletable.SwitchMapCompletableObserver.SwitchMapInnerObserver INNER_DISPOSED
mapperback to summary
pack-priv final Function<? super T, ? extends CompletableSource> mapper
upstreamback to summary
pack-priv Subscription upstream

Constructor Detail

SwitchMapCompletableObserverback to summary
pack-priv SwitchMapCompletableObserver(CompletableObserver downstream, Function<? super T, ? extends CompletableSource> mapper, boolean delayErrors)

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
disposeInnerback to summary
pack-priv void disposeInner()
innerCompleteback to summary
pack-priv void innerComplete(FlowableSwitchMapCompletable.SwitchMapCompletableObserver.SwitchMapInnerObserver sender)
innerErrorback to summary
pack-priv void innerError(FlowableSwitchMapCompletable.SwitchMapCompletableObserver.SwitchMapInnerObserver sender, Throwable error)
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
onCompleteback to summary
public void onComplete()

Implements org.reactivestreams.Subscriber.onComplete.

Doc from org.reactivestreams.Subscriber.onComplete.

Successful terminal state.

No further events will be sent even if Subscription#request(long) is invoked again.

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

Implements org.reactivestreams.Subscriber.onError.

Doc from org.reactivestreams.Subscriber.onError.

Failed terminal state.

No further events will be sent even if Subscription#request(long) is invoked again.

Parameters
t:Throwable

the throwable signaled

Annotations
@Override
onNextback to summary
public void onNext(T t)

Implements org.reactivestreams.Subscriber.onNext.

Doc from org.reactivestreams.Subscriber.onNext.

Data notification sent by the Publisher in response to requests to Subscription#request(long).

Parameters
t:T

the element signaled

Annotations
@Override
onSubscribeback to summary
public void onSubscribe(Subscription s)

Implements io.reactivex.FlowableSubscriber.onSubscribe.

Doc from io.reactivex.FlowableSubscriber.onSubscribe.

Implementors of this method should make sure everything that needs to be visible in onNext(Object) is established before calling Subscription#request(long). In practice this means no initialization should happen after the request() call and additional behavior is thread safe in respect to onNext. Invoked after calling Publisher#subscribe(Subscriber).

No data will start flowing until Subscription#request(long) is invoked.

It is the responsibility of this Subscriber instance to call Subscription#request(long) whenever more data is wanted.

The Publisher will send notifications only in response to Subscription#request(long).

Parameters
s:Subscription

Doc from org.reactivestreams.Subscriber.onSubscribe.

the Subscription that allows requesting data via Subscription#request(long)

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

pack-priv final Class FlowableSwitchMapCompletable.SwitchMapCompletableObserver.SwitchMapInnerObserver

extends AtomicReference<Disposable>
implements CompletableObserver
Class Inheritance
All Implemented Interfaces
io.reactivex.CompletableObserver

Field Summary

Modifier and TypeField and Description
pack-priv final FlowableSwitchMapCompletable.SwitchMapCompletableObserver<?>
private static final long

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv void
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.
Inherited from java.util.concurrent.atomic.AtomicReference:
accumulateAndGetcompareAndExchangecompareAndExchangeAcquirecompareAndExchangeReleasecompareAndSetgetgetAcquiregetAndAccumulategetAndSetgetAndUpdategetOpaquegetPlainlazySetsetsetOpaquesetPlainsetReleasetoStringupdateAndGetweakCompareAndSetweakCompareAndSetAcquireweakCompareAndSetPlainweakCompareAndSetReleaseweakCompareAndSetVolatile

Field Detail

parentback to summary
pack-priv final FlowableSwitchMapCompletable.SwitchMapCompletableObserver<?> parent
serialVersionUIDback to summary
private static final long serialVersionUID

Hides java.util.concurrent.atomic.AtomicReference.serialVersionUID.

Constructor Detail

SwitchMapInnerObserverback to summary
pack-priv SwitchMapInnerObserver(FlowableSwitchMapCompletable.SwitchMapCompletableObserver<?> parent)

Method Detail

disposeback to summary
pack-priv void dispose()
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