T - the received value typepublic abstract class DisposableMaybeObserver<T> extends Object implements MaybeObserver<T>, Disposable
MaybeObserver that allows asynchronous cancellation by implementing Disposable.
All pre-implemented final methods are thread-safe.
Note that MaybeObserver.onSuccess(Object), MaybeObserver.onError(Throwable) and MaybeObserver.onComplete() are
exclusive to each other, unlike a regular Observer, and
onComplete() is never called after an onSuccess().
Like all other consumers, DisposableMaybeObserver can be subscribed only once.
Any subsequent attempt to subscribe it to a new source will yield an
IllegalStateException with message "It is not allowed to subscribe with a(n) <class name> multiple times.".
Implementation of onStart(), MaybeObserver.onSuccess(Object), MaybeObserver.onError(Throwable) and
MaybeObserver.onComplete() are not allowed to throw any unchecked exceptions.
Example
Disposable d =
Maybe.just(1).delay(1, TimeUnit.SECONDS)
.subscribeWith(new DisposableMaybeObserver<Integer>() {
@Override public void onStart() {
System.out.println("Start!");
}
@Override public void onSuccess(Integer t) {
System.out.println(t);
}
@Override public void onError(Throwable t) {
t.printStackTrace();
}
@Override public void onComplete() {
System.out.println("Done!");
}
});
// ...
d.dispose();
| Constructor and Description |
|---|
DisposableMaybeObserver() |
| Modifier and Type | Method and Description |
|---|---|
void |
dispose()
Dispose the resource, the operation should be idempotent.
|
boolean |
isDisposed()
Returns true if this resource has been disposed.
|
protected void |
onStart()
Called once the single upstream Disposable is set via onSubscribe.
|
void |
onSubscribe(Disposable s)
Provides the MaybeObserver with the means of cancelling (disposing) the
connection (channel) with the Maybe in both
synchronous (from within
onSubscribe(Disposable) itself) and asynchronous manner. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitonComplete, onError, onSuccesspublic final void onSubscribe(@NonNull Disposable s)
MaybeObserveronSubscribe(Disposable) itself) and asynchronous manner.onSubscribe in interface MaybeObserver<T>s - the Disposable instance whose Disposable.dispose() can
be called anytime to cancel the connectionprotected void onStart()
public final boolean isDisposed()
DisposableisDisposed in interface Disposablepublic final void dispose()
Disposabledispose in interface Disposable