Package io.reactivex.rxjava3.observers
Class SafeObserver<T>
- java.lang.Object
-
- io.reactivex.rxjava3.observers.SafeObserver<T>
-
- Type Parameters:
T- the value type
- All Implemented Interfaces:
Observer<T>,Disposable
public final class SafeObserver<T> extends java.lang.Object implements Observer<T>, Disposable
Wraps anotherObserverand ensures allonXXXmethods conform the protocol (except the requirement for serialized access).
-
-
Field Summary
Fields Modifier and Type Field Description (package private) booleandoneIndicates a terminal state.(package private) Observer<? super T>downstreamThe actual Subscriber.(package private) DisposableupstreamThe subscription.
-
Constructor Summary
Constructors Constructor Description SafeObserver(@NonNull Observer<? super T> downstream)Constructs aSafeObserverby wrapping the given actualObserver.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddispose()Dispose the resource, the operation should be idempotent.booleanisDisposed()Returns true if this resource has been disposed.voidonComplete()Notifies theObserverthat theObservablehas finished sending push-based notifications.(package private) voidonCompleteNoSubscription()voidonError(@NonNull java.lang.Throwable t)Notifies theObserverthat theObservablehas experienced an error condition.voidonNext(T t)Provides theObserverwith a new item to observe.(package private) voidonNextNoSubscription()voidonSubscribe(@NonNull Disposable d)Provides theObserverwith the means of cancelling (disposing) the connection (channel) with theObservablein both synchronous (from withinObserver.onNext(Object)) and asynchronous manner.
-
-
-
Field Detail
-
upstream
Disposable upstream
The subscription.
-
done
boolean done
Indicates a terminal state.
-
-
Method Detail
-
onSubscribe
public void onSubscribe(@NonNull @NonNull Disposable d)
Description copied from interface:ObserverProvides theObserverwith the means of cancelling (disposing) the connection (channel) with theObservablein both synchronous (from withinObserver.onNext(Object)) and asynchronous manner.- Specified by:
onSubscribein interfaceObserver<T>- Parameters:
d- theDisposableinstance whoseDisposable.dispose()can be called anytime to cancel the connection
-
dispose
public void dispose()
Description copied from interface:DisposableDispose the resource, the operation should be idempotent.- Specified by:
disposein interfaceDisposable
-
isDisposed
public boolean isDisposed()
Description copied from interface:DisposableReturns true if this resource has been disposed.- Specified by:
isDisposedin interfaceDisposable- Returns:
- true if this resource has been disposed
-
onNext
public void onNext(@NonNull T t)
Description copied from interface:ObserverProvides theObserverwith a new item to observe.The
Observablemay call this method 0 or more times.The
Observablewill not call this method again after it calls eitherObserver.onComplete()orObserver.onError(java.lang.Throwable).
-
onNextNoSubscription
void onNextNoSubscription()
-
onError
public void onError(@NonNull @NonNull java.lang.Throwable t)
Description copied from interface:ObserverNotifies theObserverthat theObservablehas experienced an error condition.If the
Observablecalls this method, it will not thereafter callObserver.onNext(T)orObserver.onComplete().
-
onComplete
public void onComplete()
Description copied from interface:ObserverNotifies theObserverthat theObservablehas finished sending push-based notifications.The
Observablewill not call this method if it callsObserver.onError(java.lang.Throwable).- Specified by:
onCompletein interfaceObserver<T>
-
onCompleteNoSubscription
void onCompleteNoSubscription()
-
-