SingleObserver (RxJava Javadoc 3.1.10) (original) (raw)

Provides a mechanism for receiving push-based notification of a single value or an error.

When a SingleObserver is subscribed to a SingleSource through the SingleSource.subscribe(SingleObserver) method, the SingleSource calls onSubscribe(Disposable) with a Disposable that allows disposing the sequence at any time. A well-behavedSingleSource will call a SingleObserver's onSuccess(Object) method exactly once or the SingleObserver'sonError(java.lang.Throwable) method exactly once as they are considered mutually exclusive terminal signals.

Calling the SingleObserver'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)?

Subscribing a SingleObserver to multiple SingleSources is not recommended. If such reuse happens, it is the duty of the SingleObserver 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 anull argument is forbidden.

The implementations of the onXXX methods should avoid throwing runtime exceptions other than the following cases: