Class SerializedObserver<T>
java.lang.Object
io.reactivex.rxjava4.observers.SerializedObserver<T>
- Type Parameters:
T- the value type
- All Implemented Interfaces:
Observer<T>, Disposable
Serializes access to the
Observer.onNext(Object), Observer.onError(Throwable) and
Observer.onComplete() methods of another Observer.
Note that onSubscribe(Disposable) is not serialized in respect of the other methods so
make sure the onSubscribe() is called with a non-null Disposable
before any of the other methods are called.
The implementation assumes that the actual Observer's methods don't throw.
-
Constructor Summary
ConstructorsConstructorDescriptionSerializedObserver(@NonNull Observer<? super T> downstream) Construct aSerializedObserverby wrapping the given actualObserver.SerializedObserver(@NonNull Observer<? super T> actual, boolean delayError) Construct a SerializedObserver by wrapping the given actualObserverand optionally delaying the errors till all regular values have been emitted from the internal buffer. -
Method Summary
Modifier and TypeMethodDescriptionvoiddispose()Dispose the resource, the operation should be idempotent.booleanReturns true if this resource has been disposed.voidNotifies theObserverthat theObservablehas finished sending push-based notifications.voidNotifies theObserverthat theObservablehas experienced an error condition.voidProvides theObserverwith a new item to observe.voidProvides theObserverwith the means of cancelling (disposing) the connection (channel) with theObservablein both synchronous (from withinObserver.onNext(Object)) and asynchronous manner.
-
Constructor Details
-
SerializedObserver
-
SerializedObserver
Construct a SerializedObserver by wrapping the given actualObserverand optionally delaying the errors till all regular values have been emitted from the internal buffer.- Parameters:
actual- the actualObserver, notnull(not verified)delayError- iftrue, errors are emitted after regular values have been emitted
-
-
Method Details
-
onSubscribe
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
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(Throwable). -
onError
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(Throwable).- Specified by:
onCompletein interfaceObserver<T>
-