When a MaybeObserver is subscribed to a MaybeSource through the MaybeSource#subscribe(MaybeObserver) method,
the MaybeSource calls onSubscribe(Disposable) with a Disposable that allows
disposing the sequence at any time. A well-behaved
MaybeSource will call a MaybeObserver's onSuccess(Object), onError(Throwable)
or onComplete() method exactly once as they are considered mutually exclusive terminal signals.
Calling the MaybeObserver's method must happen in a serialized fashion, that is, they must not
be invoked concurrently by multiple threads in an overlapping fashion and the invocation pattern must
adhere to the following protocol:
onSubscribe (onSuccess | onError | onComplete)?
Note that unlike with the Observable protocol, onComplete() is not called after the success item has been
signalled via onSuccess(Object).
Subscribing a MaybeObserver to multiple MaybeSources is not recommended. If such reuse
happens, it is the duty of the MaybeObserver implementation to be ready to receive multiple calls to
its methods and ensure proper concurrent behavior of its business logic.
Calling onSubscribe(Disposable), onSuccess(Object) or onError(Throwable) with a
null argument is forbidden.
The implementations of the onXXX methods should avoid throwing runtime exceptions other than the following cases:
null, the methods can throw a NullPointerException.
Note though that RxJava prevents nulls to enter into the flow and thus there is generally no
need to check for nulls in flows assembled from standard sources and intermediate operators.
VirtualMachineError).| Modifier and Type | Method and Description |
|---|---|
| public void | |
| public void | |
| public void | onSubscribe(Disposable
the Disposable instance whose d)Disposable#dispose() can
be called anytime to cancel the connectionProvides the MaybeObserver with the means of cancelling (disposing) the
connection (channel) with the Maybe in both
synchronous (from within |
| public void |
| onComplete | back to summary |
|---|---|
| public void onComplete() Called once the deferred computation completes normally. | |
| onError | back to summary |
|---|---|
| public void onError(Throwable e) Notifies the MaybeObserver that the
If the
| |
| onSubscribe | back to summary |
|---|---|
| public void onSubscribe(Disposable d) Provides the MaybeObserver with the means of cancelling (disposing) the
connection (channel) with the Maybe in both
synchronous (from within
| |
| onSuccess | back to summary |
|---|---|
| public void onSuccess(T t) Notifies the MaybeObserver with one item and that the
The
| |