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 anotherObserver
and ensures allonXXX
methods conform the protocol (except the requirement for serialized access).
-
-
Field Summary
Fields Modifier and Type Field Description (package private) boolean
done
Indicates a terminal state.(package private) Observer<? super T>
downstream
The actual Subscriber.(package private) Disposable
upstream
The subscription.
-
Constructor Summary
Constructors Constructor Description SafeObserver(@NonNull Observer<? super T> downstream)
Constructs aSafeObserver
by wrapping the given actualObserver
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
dispose()
Dispose the resource, the operation should be idempotent.boolean
isDisposed()
Returns true if this resource has been disposed.void
onComplete()
Notifies theObserver
that theObservable
has finished sending push-based notifications.(package private) void
onCompleteNoSubscription()
void
onError(@NonNull java.lang.Throwable t)
Notifies theObserver
that theObservable
has experienced an error condition.void
onNext(T t)
Provides theObserver
with a new item to observe.(package private) void
onNextNoSubscription()
void
onSubscribe(@NonNull Disposable d)
Provides theObserver
with the means of cancelling (disposing) the connection (channel) with theObservable
in 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:Observer
Provides theObserver
with the means of cancelling (disposing) the connection (channel) with theObservable
in both synchronous (from withinObserver.onNext(Object)
) and asynchronous manner.- Specified by:
onSubscribe
in interfaceObserver<T>
- Parameters:
d
- theDisposable
instance whoseDisposable.dispose()
can be called anytime to cancel the connection
-
dispose
public void dispose()
Description copied from interface:Disposable
Dispose the resource, the operation should be idempotent.- Specified by:
dispose
in interfaceDisposable
-
isDisposed
public boolean isDisposed()
Description copied from interface:Disposable
Returns true if this resource has been disposed.- Specified by:
isDisposed
in interfaceDisposable
- Returns:
- true if this resource has been disposed
-
onNext
public void onNext(@NonNull T t)
Description copied from interface:Observer
Provides theObserver
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 eitherObserver.onComplete()
orObserver.onError(java.lang.Throwable)
.
-
onNextNoSubscription
void onNextNoSubscription()
-
onError
public void onError(@NonNull @NonNull java.lang.Throwable t)
Description copied from interface:Observer
Notifies theObserver
that theObservable
has experienced an error condition.If the
Observable
calls this method, it will not thereafter callObserver.onNext(T)
orObserver.onComplete()
.
-
onComplete
public void onComplete()
Description copied from interface:Observer
Notifies theObserver
that theObservable
has finished sending push-based notifications.The
Observable
will not call this method if it callsObserver.onError(java.lang.Throwable)
.- Specified by:
onComplete
in interfaceObserver<T>
-
onCompleteNoSubscription
void onCompleteNoSubscription()
-
-