Top Description Inners Fields Constructors Methods
io.reactivex.rxjava3.internal.operators.observable

public final Class ObservableMergeWithSingle<T>

extends AbstractObservableWithUpstream<T, T>
Class Inheritance
Type Parameters
<T>
the element type of the Observable
Imports
java.util.concurrent.atomic.*, io.reactivex.rxjava3.core.*, io.reactivex.rxjava3.disposables.Disposable, io.reactivex.rxjava3.internal.disposables.DisposableHelper, io.reactivex.rxjava3.internal.util.AtomicThrowable, io.reactivex.rxjava3.operators.SimplePlainQueue, .SpscLinkedArrayQueue

Merges an Observable and a Single by emitting the items of the Observable and the success value of the Single and waiting until both the Observable and Single terminate normally.

History: 2.1.10 - 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 SingleSource<? extends T>
Inherited from io.reactivex.rxjava3.internal.operators.observable.AbstractObservableWithUpstream:
source

Constructor Summary

AccessConstructor and Description
public
ObservableMergeWithSingle(Observable<T> source, SingleSource<? extends T> other)

Method Summary

Modifier and TypeMethod and Description
protected void
subscribeActual(Observer<? super T> observer)

Inherited from io.reactivex.rxjava3.internal.operators.observable.AbstractObservableWithUpstream:
source

Field Detail

otherback to summary
pack-priv final SingleSource<? extends T> other

Constructor Detail

ObservableMergeWithSingleback to summary
public ObservableMergeWithSingle(Observable<T> source, SingleSource<? extends T> other)

Method Detail

subscribeActualback to summary
protected void subscribeActual(Observer<? super T> observer)
Annotations
@Override
io.reactivex.rxjava3.internal.operators.observable back to summary

pack-priv final Class ObservableMergeWithSingle.MergeWithObserver<T>

extends AtomicInteger
implements Observer<T>, Disposable
Class Inheritance
All Implemented Interfaces
io.reactivex.rxjava3.disposables.Disposable, io.reactivex.rxjava3.core.Observer

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class

Field Summary

Modifier and TypeField and Description
pack-priv volatile boolean
pack-priv final Observer<? super T>
pack-priv final AtomicThrowable
pack-priv final AtomicReference<Disposable>
pack-priv volatile boolean
pack-priv static final int
pack-priv static final int
pack-priv final ObservableMergeWithSingle.MergeWithObserver.OtherObserver<T>
pack-priv volatile int
pack-priv volatile SimplePlainQueue<T>
private static final long
pack-priv T

Constructor Summary

AccessConstructor and Description
pack-priv
MergeWithObserver(Observer<? super T> downstream)

Method Summary

Modifier and TypeMethod and Description
public void
dispose()

Implements io.reactivex.rxjava3.disposables.Disposable.dispose.

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

Implements io.reactivex.rxjava3.disposables.Disposable.isDisposed.

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

Implements io.reactivex.rxjava3.core.Observer.onComplete.

Notifies the Observer that the Observable has finished sending push-based notifications.
public void
public void
onNext(T
the item emitted by the Observable
t
)

Implements io.reactivex.rxjava3.core.Observer.onNext.

Provides the Observer with a new item to observe.
public void
pack-priv void
pack-priv void
otherSuccess(T value)

Inherited from java.util.concurrent.atomic.AtomicInteger:
accumulateAndGetaddAndGetcompareAndExchangecompareAndExchangeAcquirecompareAndExchangeReleasecompareAndSetdecrementAndGetdoubleValuefloatValuegetgetAcquiregetAndAccumulategetAndAddgetAndDecrementgetAndIncrementgetAndSetgetAndUpdategetOpaquegetPlainincrementAndGetintValuelazySetlongValuesetsetOpaquesetPlainsetReleasetoStringupdateAndGetweakCompareAndSetweakCompareAndSetAcquireweakCompareAndSetPlainweakCompareAndSetReleaseweakCompareAndSetVolatile

Field Detail

disposedback to summary
pack-priv volatile boolean disposed
downstreamback to summary
pack-priv final Observer<? super T> downstream
errorsback to summary
pack-priv final AtomicThrowable errors
mainDisposableback to summary
pack-priv final AtomicReference<Disposable> mainDisposable
mainDoneback to summary
pack-priv volatile boolean mainDone
OTHER_STATE_CONSUMED_OR_EMPTYback to summary
pack-priv static final int OTHER_STATE_CONSUMED_OR_EMPTY
OTHER_STATE_HAS_VALUEback to summary
pack-priv static final int OTHER_STATE_HAS_VALUE
otherObserverback to summary
pack-priv final ObservableMergeWithSingle.MergeWithObserver.OtherObserver<T> otherObserver
otherStateback to summary
pack-priv volatile int otherState
queueback to summary
pack-priv volatile SimplePlainQueue<T> queue
serialVersionUIDback to summary
private static final long serialVersionUID

Hides java.util.concurrent.atomic.AtomicInteger.serialVersionUID.

singleItemback to summary
pack-priv T singleItem

Constructor Detail

MergeWithObserverback to summary
pack-priv MergeWithObserver(Observer<? super T> downstream)

Method Detail

disposeback to summary
public void dispose()

Implements io.reactivex.rxjava3.disposables.Disposable.dispose.

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

Dispose the resource, the operation should be idempotent.

Annotations
@Override
drainback to summary
pack-priv void drain()
drainLoopback to summary
pack-priv void drainLoop()
getOrCreateQueueback to summary
pack-priv SimplePlainQueue<T> getOrCreateQueue()
isDisposedback to summary
public boolean isDisposed()

Implements io.reactivex.rxjava3.disposables.Disposable.isDisposed.

Doc from io.reactivex.rxjava3.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 io.reactivex.rxjava3.core.Observer.onComplete.

Doc from io.reactivex.rxjava3.core.Observer.onComplete.

Notifies the Observer that the Observable has finished sending push-based notifications.

The Observable will not call this method if it calls onError.

Annotations
@Override
onErrorback to summary
public void onError(Throwable ex)
Annotations
@Override
onNextback to summary
public void onNext(T t)

Implements io.reactivex.rxjava3.core.Observer.onNext.

Doc from io.reactivex.rxjava3.core.Observer.onNext.

Provides the Observer with a new item to observe.

The Observable may call this method 0 or more times.

The Observable will not call this method again after it calls either onComplete or onError.

Parameters
t:T

the item emitted by the Observable

Annotations
@Override
onSubscribeback to summary
public void onSubscribe(Disposable d)
Annotations
@Override
otherErrorback to summary
pack-priv void otherError(Throwable ex)
otherSuccessback to summary
pack-priv void otherSuccess(T value)
io.reactivex.rxjava3.internal.operators.observable back to summary

pack-priv final Class ObservableMergeWithSingle.MergeWithObserver.OtherObserver<T>

extends AtomicReference<Disposable>
implements SingleObserver<T>
Class Inheritance
All Implemented Interfaces
io.reactivex.rxjava3.core.SingleObserver

Field Summary

Modifier and TypeField and Description
pack-priv final ObservableMergeWithSingle.MergeWithObserver<T>
private static final long

Constructor Summary

AccessConstructor and Description
pack-priv

Field Detail

parentback to summary
pack-priv final ObservableMergeWithSingle.MergeWithObserver<T> parent
serialVersionUIDback to summary
private static final long serialVersionUID

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

Constructor Detail

OtherObserverback to summary
pack-priv OtherObserver(ObservableMergeWithSingle.MergeWithObserver<T> parent)

Method Detail

onErrorback to summary
public void onError(Throwable e)
Annotations
@Override
onSubscribeback to summary
public void onSubscribe(Disposable d)
Annotations
@Override
onSuccessback to summary
public void onSuccess(T t)

Implements io.reactivex.rxjava3.core.SingleObserver.onSuccess.

Doc from io.reactivex.rxjava3.core.SingleObserver.onSuccess.

Notifies the SingleObserver with a single item and that the Single has finished sending push-based notifications.

The Single will not call this method if it calls onError.

Parameters
t:T

the item emitted by the Single

Annotations
@Override