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 aMaybeSource
through theMaybeSource.subscribe(MaybeObserver)
method, theMaybeSource
callsonSubscribe(Disposable)
with aDisposable
that allows disposing the sequence at any time. A well-behavedMaybeSource
will call aMaybeObserver
'sonSuccess(Object)
,onError(Throwable)
oronComplete()
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 viaonSuccess(Object)
.Subscribing a
MaybeObserver
to multipleMaybeSource
s is not recommended. If such reuse happens, it is the duty of theMaybeObserver
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)
oronError(Throwable)
with anull
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 aNullPointerException
. Note though that RxJava preventsnull
s 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:
- ReactiveX documentation: Observable
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
onComplete()
Called once the deferred computation completes normally.void
onError(@NonNull java.lang.Throwable e)
Notifies theMaybeObserver
that theMaybe
has experienced an error condition.void
onSubscribe(@NonNull Disposable d)
Provides theMaybeObserver
with the means of cancelling (disposing) the connection (channel) with theMaybe
in both synchronous (from withinonSubscribe(Disposable)
itself) and asynchronous manner.void
onSuccess(@NonNull T t)
Notifies theMaybeObserver
with one item and that theMaybe
has finished sending push-based notifications.
-
-
-
Method Detail
-
onSubscribe
void onSubscribe(@NonNull @NonNull Disposable d)
Provides theMaybeObserver
with the means of cancelling (disposing) the connection (channel) with theMaybe
in both synchronous (from withinonSubscribe(Disposable)
itself) and asynchronous manner.- Parameters:
d
- theDisposable
instance whoseDisposable.dispose()
can be called anytime to cancel the connection
-
onSuccess
void onSuccess(@NonNull @NonNull T t)
Notifies theMaybeObserver
with one item and that theMaybe
has finished sending push-based notifications.The
Maybe
will not call this method if it callsonError(java.lang.Throwable)
.- Parameters:
t
- the item emitted by theMaybe
-
onError
void onError(@NonNull @NonNull java.lang.Throwable e)
Notifies theMaybeObserver
that theMaybe
has experienced an error condition.If the
Maybe
calls this method, it will not thereafter callonSuccess(T)
.- Parameters:
e
- the exception encountered by theMaybe
-
onComplete
void onComplete()
Called once the deferred computation completes normally.
-
-