T - the received value typepublic abstract class DisposableSingleObserver<T> extends java.lang.Object implements SingleObserver<T>, Disposable
SingleObserver that allows asynchronous cancellation by implementing Disposable.
All pre-implemented final methods are thread-safe.
Like all other consumers, DisposableSingleObserver can be subscribed only once.
Any subsequent attempt to subscribe it to a new source will yield an
IllegalStateException with message "Disposable already set!".
Implementation of onStart(), SingleObserver.onSuccess(Object) and SingleObserver.onError(Throwable)
are not allowed to throw any unchecked exceptions.
Example
Disposable d =
Single.just(1).delay(1, TimeUnit.SECONDS)
.subscribeWith(new DisposableSingleObserver<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();
}
});
// ...
d.dispose();
| Constructor and Description |
|---|
DisposableSingleObserver() |
| 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 SingleObserver with the means of cancelling (disposing) the
connection (channel) with the Single in both
synchronous (from within
onSubscribe(Disposable) itself) and asynchronous manner. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitonError, onSuccesspublic final void onSubscribe(Disposable s)
SingleObserveronSubscribe(Disposable) itself) and asynchronous manner.onSubscribe in interface SingleObserver<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