Top Description Fields Constructors Methods
io.reactivex.rxjava3.internal.subscribers

public final Class DisposableAutoReleaseSubscriber<T>

extends AtomicReference<Subscription>
implements FlowableSubscriber<T>, Disposable, LambdaConsumerIntrospection
Class Inheritance
All Implemented Interfaces
io.reactivex.rxjava3.observers.LambdaConsumerIntrospection, io.reactivex.rxjava3.disposables.Disposable, io.reactivex.rxjava3.core.FlowableSubscriber, org.reactivestreams.Subscriber
Type Parameters
<T>
the element type consumed
Imports
java.util.concurrent.atomic.AtomicReference, org.reactivestreams.Subscription, io.reactivex.rxjava3.core.FlowableSubscriber, io.reactivex.rxjava3.disposables.*, io.reactivex.rxjava3.exceptions.*, io.reactivex.rxjava3.functions.*, io.reactivex.rxjava3.internal.functions.Functions, io.reactivex.rxjava3.internal.subscriptions.SubscriptionHelper, io.reactivex.rxjava3.observers.LambdaConsumerIntrospection, io.reactivex.rxjava3.plugins.RxJavaPlugins

Wraps lambda callbacks and when the upstream terminates or this subscriber gets disposed, removes itself from a io.reactivex.rxjava3.disposables.CompositeDisposable.

History: 0.18.0 @ RxJavaExtensions

Since
3.1.0

Field Summary

Modifier and TypeField and Description
pack-priv final AtomicReference<DisposableContainer>
pack-priv final Action
pack-priv final Consumer<? super Throwable>
pack-priv final Consumer<? super T>
private static final long

Constructor Summary

AccessConstructor and Description
public
DisposableAutoReleaseSubscriber(DisposableContainer composite, Consumer<? super T> onNext, Consumer<? super Throwable> onError, Action onComplete)

Method Summary

Modifier and TypeMethod and Description
public void
dispose()

Implements io.reactivex.rxjava3.disposables.Disposable.dispose.

Dispose the resource, the operation should be idempotent.
public boolean
hasCustomOnError()

Implements io.reactivex.rxjava3.observers.LambdaConsumerIntrospection.hasCustomOnError.

Returns true or false if a custom onError consumer has been provided.
public boolean
isDisposed()

Implements io.reactivex.rxjava3.disposables.Disposable.isDisposed.

Returns true if this resource has been disposed.
public void
onComplete()

Implements org.reactivestreams.Subscriber.onComplete.

Successful terminal state.
public void
onError(Throwable
the throwable signaled
t
)

Implements org.reactivestreams.Subscriber.onError.

Failed terminal state.
public void
onNext(T
the element signaled
t
)

Implements org.reactivestreams.Subscriber.onNext.

Data notification sent by the Publisher in response to requests to Subscription#request(long).
public void
pack-priv void
Inherited from java.util.concurrent.atomic.AtomicReference:
accumulateAndGetcompareAndExchangecompareAndExchangeAcquirecompareAndExchangeReleasecompareAndSetgetgetAcquiregetAndAccumulategetAndSetgetAndUpdategetOpaquegetPlainlazySetsetsetOpaquesetPlainsetReleasetoStringupdateAndGetweakCompareAndSetweakCompareAndSetAcquireweakCompareAndSetPlainweakCompareAndSetReleaseweakCompareAndSetVolatile

Field Detail

compositeback to summary
pack-priv final AtomicReference<DisposableContainer> composite
onCompleteback to summary
pack-priv final Action onComplete
onErrorback to summary
pack-priv final Consumer<? super Throwable> onError
onNextback to summary
pack-priv final Consumer<? super T> onNext
serialVersionUIDback to summary
private static final long serialVersionUID

Hides java.util.concurrent.atomic.AtomicReference.serialVersionUID.

Constructor Detail

DisposableAutoReleaseSubscriberback to summary
public DisposableAutoReleaseSubscriber(DisposableContainer composite, Consumer<? super T> onNext, Consumer<? super Throwable> onError, Action onComplete)

Method Detail

disposeback to summary
public void dispose()

Implements io.reactivex.rxjava3.disposables.Disposable.dispose.

Doc from io.reactivex.rxjava3.disposables.Disposable.dispose.

Dispose the resource, the operation should be idempotent.

Annotations
@Override
hasCustomOnErrorback to summary
public boolean hasCustomOnError()

Implements io.reactivex.rxjava3.observers.LambdaConsumerIntrospection.hasCustomOnError.

Doc from io.reactivex.rxjava3.observers.LambdaConsumerIntrospection.hasCustomOnError.

Returns true or false if a custom onError consumer has been provided.

Returns:boolean

true if a custom onError consumer implementation was supplied. Returns false if the implementation is missing an error consumer and thus using a throwing default implementation.

Annotations
@Override
isDisposedback to summary
public boolean isDisposed()

Implements io.reactivex.rxjava3.disposables.Disposable.isDisposed.

Doc from io.reactivex.rxjava3.disposables.Disposable.isDisposed.

Returns true if this resource has been disposed.

Returns:boolean

true if this resource has been disposed

Annotations
@Override
onCompleteback to summary
public void onComplete()

Implements org.reactivestreams.Subscriber.onComplete.

Doc from org.reactivestreams.Subscriber.onComplete.

Successful terminal state.

No further events will be sent even if Subscription#request(long) is invoked again.

Annotations
@Override
onErrorback to summary
public void onError(Throwable t)

Implements org.reactivestreams.Subscriber.onError.

Doc from org.reactivestreams.Subscriber.onError.

Failed terminal state.

No further events will be sent even if Subscription#request(long) is invoked again.

Parameters
t:Throwable

the throwable signaled

Annotations
@Override
onNextback to summary
public void onNext(T t)

Implements org.reactivestreams.Subscriber.onNext.

Doc from org.reactivestreams.Subscriber.onNext.

Data notification sent by the Publisher in response to requests to Subscription#request(long).

Parameters
t:T

the element signaled

Annotations
@Override
onSubscribeback to summary
public void onSubscribe(Subscription s)

Implements org.reactivestreams.Subscriber.onSubscribe.

Doc from org.reactivestreams.Subscriber.onSubscribe.

Invoked after calling Publisher#subscribe(Subscriber).

No data will start flowing until Subscription#request(long) is invoked.

It is the responsibility of this Subscriber instance to call Subscription#request(long) whenever more data is wanted.

The Publisher will send notifications only in response to Subscription#request(long).

Parameters
s:Subscription

the Subscription that allows requesting data via Subscription#request(long)

Annotations
@Override
removeSelfback to summary
pack-priv void removeSelf()