Package io.reactivex.rxjava3.observers
Class DefaultObserver<T>
- java.lang.Object
-
- io.reactivex.rxjava3.observers.DefaultObserver<T>
-
- Type Parameters:
T- the value type
- All Implemented Interfaces:
Observer<T>
- Direct Known Subclasses:
BlockingObservableMostRecent.MostRecentObserver
public abstract class DefaultObserver<T> extends java.lang.Object implements Observer<T>
Abstract base implementation of anObserverwith support for cancelling a subscription viacancel()(synchronously) and callsonStart()when the subscription happens.All pre-implemented final methods are thread-safe.
Use the protected
cancel()to dispose the sequence from within anonNextimplementation.Like all other consumers,
DefaultObservercan be subscribed only once. Any subsequent attempt to subscribe it to a new source will yield anIllegalStateExceptionwith message"It is not allowed to subscribe with a(n) <class name> multiple times.".Implementation of
onStart(),Observer.onNext(Object),Observer.onError(Throwable)andObserver.onComplete()are not allowed to throw any unchecked exceptions. If for some reason this can't be avoided, useObservable.safeSubscribe(io.reactivex.rxjava3.core.Observer)instead of the standardsubscribe()method.Example
Observable.range(1, 5) .subscribe(new DefaultObserver<Integer>() { @Override public void onStart() { System.out.println("Start!"); } @Override public void onNext(Integer t) { if (t == 3) { cancel(); } System.out.println(t); } @Override public void onError(Throwable t) { t.printStackTrace(); } @Override public void onComplete() { System.out.println("Done!"); } });
-
-
Field Summary
Fields Modifier and Type Field Description private Disposableupstream
-
Constructor Summary
Constructors Constructor Description DefaultObserver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcancel()Cancels the upstream's disposable.protected voidonStart()Called once the subscription has been set on this observer; override this to perform initialization.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.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.reactivex.rxjava3.core.Observer
onComplete, onError, onNext
-
-
-
-
Field Detail
-
upstream
private Disposable upstream
-
-
Method Detail
-
onSubscribe
public final 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
-
cancel
protected final void cancel()
Cancels the upstream's disposable.
-
onStart
protected void onStart()
Called once the subscription has been set on this observer; override this to perform initialization.
-
-