public abstract class BaseSubscriber<T> extends Object implements CoreSubscriber<T>, Subscription, Disposable
Subscriber implementation that lets the user
 perform a request(long) and cancel() on it directly. As the targeted
 use case is to manually handle requests, the hookOnSubscribe(Subscription) and
 hookOnNext(Object) hooks are expected to be implemented, but they nonetheless
 default to an unbounded request at subscription time. If you need to define a Context
 for this BaseSubscriber, simply override its CoreSubscriber.currentContext() method.
 
 Override the other optional hooks hookOnComplete(),
 hookOnError(Throwable) and hookOnCancel()
 to customize the base behavior. You also have a termination hook,
 hookFinally(SignalType).
 
 Most of the time, exceptions triggered inside hooks are propagated to
 onError(Throwable) (unless there is a fatal exception). The class is in the
 reactor.core.publisher package, as this subscriber is tied to a single
 Publisher.
Disposable.Composite, Disposable.Swap| Constructor and Description | 
|---|
BaseSubscriber()  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
cancel()  | 
void | 
dispose()
 | 
protected void | 
hookFinally(SignalType type)
Optional hook executed after any of the termination events (onError, onComplete,
 cancel). 
 | 
protected void | 
hookOnCancel()
Optional hook executed when the subscription is cancelled by calling this
 Subscriber's  
cancel() method. | 
protected void | 
hookOnComplete()
Optional hook for completion processing. 
 | 
protected void | 
hookOnError(Throwable throwable)
Optional hook for error processing. 
 | 
protected void | 
hookOnNext(T value)
Hook for processing of onNext values. 
 | 
protected void | 
hookOnSubscribe(Subscription subscription)
Hook for further processing of onSubscribe's Subscription. 
 | 
boolean | 
isDisposed()
Optionally return true when the resource or task is disposed. 
 | 
void | 
onComplete()  | 
void | 
onError(Throwable t)  | 
void | 
onNext(T value)  | 
void | 
onSubscribe(Subscription s)
Implementors should initialize any state used by  
Subscriber.onNext(Object) before
 calling Subscription.request(long). | 
void | 
request(long n)  | 
void | 
requestUnbounded()
Request an unbounded amount. | 
String | 
toString()  | 
protected Subscription | 
upstream()
Return current  
Subscription | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcurrentContextprotected Subscription upstream()
SubscriptionSubscriptionpublic boolean isDisposed()
DisposableImplementations are not required to track disposition and as such may never return true even when disposed. However, they MUST only return true when there's a guarantee the resource or task is disposed.
isDisposed in interface Disposablepublic void dispose()
dispose in interface Disposableprotected void hookOnSubscribe(Subscription subscription)
request(long) as an initial request. Values other than the
 unbounded Long.MAX_VALUE imply that you'll also call request in
 hookOnNext(Object).
  Defaults to request unbounded Long.MAX_VALUE as in requestUnbounded()
subscription - the subscription to optionally processprotected void hookOnNext(T value)
request(long) here
 to further request data from the source Publisher if
 the initial request wasn't unbounded.
 Defaults to doing nothing.
value - the emitted value to processprotected void hookOnComplete()
protected void hookOnError(Throwable throwable)
Exceptions.errorCallbackNotImplemented(Throwable).throwable - the error to processprotected void hookOnCancel()
cancel() method. Defaults to doing nothing.protected void hookFinally(SignalType type)
hookOnError(Throwable),
 hookOnComplete() and hookOnCancel() hooks, even if these callbacks
 fail. Defaults to doing nothing. A failure of the callback will be caught by
 Operators.onErrorDropped(Throwable, reactor.util.context.Context).type - the type of termination event that triggered the hook
 (SignalType.ON_ERROR, SignalType.ON_COMPLETE or
 SignalType.CANCEL)public final void onSubscribe(Subscription s)
CoreSubscriberSubscriber.onNext(Object) before
 calling Subscription.request(long). Should further onNext related
 state modification occur, thread-safety will be required.
 
    Note that an invalid request <= 0 will not produce an onError and
    will simply be ignored or reported through a debug-enabled
    Logger.
 
onSubscribe in interface Subscriber<T>onSubscribe in interface CoreSubscriber<T>public final void onNext(T value)
onNext in interface Subscriber<T>public final void onError(Throwable t)
onError in interface Subscriber<T>public final void onComplete()
onComplete in interface Subscriber<T>public final void request(long n)
request in interface Subscriptionpublic final void requestUnbounded()
Request an unbounded amount.public final void cancel()
cancel in interface Subscription