Interface MaybeObserver<T>

Type Parameters:
T - the type of item the MaybeObserver expects to observe
All Known Implementing Classes:
BlockingDisposableMultiObserver, BlockingMultiObserver, CompletionStageConsumer, DisposableAutoReleaseMultiObserver, DisposableMaybeObserver, EmptyComponent, FlowableConcatMapMaybe.ConcatMapMaybeSubscriber.ConcatMapMaybeObserver, FlowableConcatWithMaybe.ConcatWithSubscriber, FlowableFlatMapMaybe.FlatMapMaybeSubscriber.InnerObserver, FlowableMergeWithMaybe.MergeWithObserver.OtherObserver, FlowableSwitchMapMaybe.SwitchMapMaybeSubscriber.SwitchMapMaybeObserver, FutureMultiObserver, MaterializeSingleObserver, MaybeAmb.AmbMaybeObserver, MaybeCache, MaybeCallbackObserver, MaybeConcatArray.ConcatMaybeObserver, MaybeConcatArrayDelayError.ConcatMaybeObserver, MaybeConcatIterable.ConcatMaybeObserver, MaybeContains.ContainsMaybeObserver, MaybeCount.CountMaybeObserver, MaybeDelay.DelayMaybeObserver, MaybeDelayOtherPublisher.DelayMaybeObserver, MaybeDelaySubscriptionOtherPublisher.DelayMaybeObserver, MaybeDelayWithCompletable.DelayWithMainObserver, MaybeDematerialize.DematerializeObserver, MaybeDetach.DetachMaybeObserver, MaybeDoAfterSuccess.DoAfterObserver, MaybeDoFinally.DoFinallyObserver, MaybeDoOnEvent.DoOnEventMaybeObserver, MaybeDoOnLifecycle.MaybeLifecycleObserver, MaybeDoOnTerminate.DoOnTerminate, MaybeEqualSingle.EqualObserver, MaybeFilter.FilterMaybeObserver, MaybeFlatMapBiSelector.FlatMapBiMainObserver, MaybeFlatMapBiSelector.FlatMapBiMainObserver.InnerObserver, MaybeFlatMapCompletable.FlatMapCompletableObserver, MaybeFlatMapIterableFlowable.FlatMapIterableObserver, MaybeFlatMapIterableObservable.FlatMapIterableObserver, MaybeFlatMapNotification.FlatMapMaybeObserver, MaybeFlatMapNotification.FlatMapMaybeObserver.InnerObserver, MaybeFlatMapObservable.FlatMapObserver, MaybeFlatMapPublisher.FlatMapPublisherSubscriber, MaybeFlatMapSingle.FlatMapMaybeObserver, MaybeFlatten.FlatMapMaybeObserver, MaybeFlatten.FlatMapMaybeObserver.InnerObserver, MaybeFlattenStreamAsFlowable.FlattenStreamMultiObserver, MaybeFlattenStreamAsObservable.FlattenStreamMultiObserver, MaybeHide.HideMaybeObserver, MaybeIgnoreElement.IgnoreMaybeObserver, MaybeIgnoreElementCompletable.IgnoreMaybeObserver, MaybeIsEmpty.IsEmptyMaybeObserver, MaybeIsEmptySingle.IsEmptyMaybeObserver, MaybeMap.MapMaybeObserver, MaybeMapOptional.MapOptionalMaybeObserver, MaybeMergeArray.MergeMaybeObserver, MaybeObserveOn.ObserveOnMaybeObserver, MaybeOnErrorComplete.OnErrorCompleteMultiObserver, MaybeOnErrorNext.OnErrorNextMaybeObserver, MaybeOnErrorNext.OnErrorNextMaybeObserver.NextMaybeObserver, MaybeOnErrorReturn.OnErrorReturnMaybeObserver, MaybePeek.MaybePeekObserver, MaybeSubject, MaybeSubscribeOn.SubscribeOnMaybeObserver, MaybeSwitchIfEmpty.SwitchIfEmptyMaybeObserver, MaybeSwitchIfEmpty.SwitchIfEmptyMaybeObserver.OtherMaybeObserver, MaybeSwitchIfEmptySingle.SwitchIfEmptyMaybeObserver, MaybeTakeUntilMaybe.TakeUntilMainMaybeObserver, MaybeTakeUntilMaybe.TakeUntilMainMaybeObserver.TakeUntilOtherMaybeObserver, MaybeTakeUntilPublisher.TakeUntilMainMaybeObserver, MaybeTimeInterval.TimeIntervalMaybeObserver, MaybeTimeoutMaybe.TimeoutFallbackMaybeObserver, MaybeTimeoutMaybe.TimeoutMainMaybeObserver, MaybeTimeoutMaybe.TimeoutOtherMaybeObserver, MaybeTimeoutPublisher.TimeoutFallbackMaybeObserver, MaybeTimeoutPublisher.TimeoutMainMaybeObserver, MaybeToFlowable.MaybeToFlowableSubscriber, MaybeToObservable.MaybeToObservableObserver, MaybeToSingle.ToSingleMaybeSubscriber, MaybeUnsubscribeOn.UnsubscribeOnMaybeObserver, MaybeUsing.UsingObserver, MaybeZipArray.ZipMaybeObserver, ObservableConcatMapMaybe.ConcatMapMaybeMainObserver.ConcatMapMaybeObserver, ObservableConcatWithMaybe.ConcatWithObserver, ObservableFlatMapMaybe.FlatMapMaybeObserver.InnerObserver, ObservableMergeWithMaybe.MergeWithObserver.OtherObserver, ObservableSwitchMapMaybe.SwitchMapMaybeMainObserver.SwitchMapMaybeObserver, ResourceMaybeObserver, SafeMaybeObserver, SingleFlatMapMaybe.FlatMapMaybeObserver, TestObserver

public interface MaybeObserver<@NonNull T>
Provides a mechanism for receiving push-based notification of a single value, an error or completion without any value.

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:

  • If the argument is 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.
  • If there is a fatal error (such as VirtualMachineError).
Since:
2.0
See Also:
  • Method Details