Package rx.plugins

Class RxJavaSingleExecutionHook

java.lang.Object
rx.plugins.RxJavaSingleExecutionHook
Direct Known Subclasses:
RxJavaSingleExecutionHookDefault

public abstract class RxJavaSingleExecutionHook extends Object
Abstract ExecutionHook with invocations at different lifecycle points of Single execution with a default no-op implementation.

See RxJavaPlugins or the RxJava GitHub Wiki for information on configuring plugins: https://github.com/ReactiveX/RxJava/wiki/Plugins.

Note on thread-safety and performance:

A single implementation of this class will be used globally so methods on this class will be invoked concurrently from multiple threads so all functionality must be thread-safe.

Methods are also invoked synchronously and will add to execution time of the single so all behavior should be fast. If anything time-consuming is to be done it should be spawned asynchronously onto separate worker threads.

  • Constructor Details

    • RxJavaSingleExecutionHook

      public RxJavaSingleExecutionHook()
  • Method Details

    • onCreate

      @Deprecated public <T> Single.OnSubscribe<T> onCreate(Single.OnSubscribe<T> f)
      Deprecated.
      Invoked during the construction by Single.create(Single.OnSubscribe)

      This can be used to decorate or replace the onSubscribe function or just perform extra logging, metrics and other such things and pass through the function.

      Type Parameters:
      T - the value type emitted by Single
      Parameters:
      f - original Single.OnSubscribeinvalid input: '<'T> to be executed
      Returns:
      Single.OnSubscribeinvalid input: '<'T> function that can be modified, decorated, replaced or just returned as a pass through
    • onSubscribeStart

      @Deprecated public <T> Observable.OnSubscribe<T> onSubscribeStart(Single<? extends T> singleInstance, Observable.OnSubscribe<T> onSubscribe)
      Deprecated.
      Invoked before Single.subscribe(Subscriber) is about to be executed.

      This can be used to decorate or replace the onSubscribe function or just perform extra logging, metrics and other such things and pass through the function.

      Type Parameters:
      T - the value type emitted
      Parameters:
      singleInstance - the parent single instance
      onSubscribe - original Observable.OnSubscribeinvalid input: '<'T> to be executed
      Returns:
      Observable.OnSubscribeinvalid input: '<'T> function that can be modified, decorated, replaced or just returned as a pass through
    • onSubscribeReturn

      @Deprecated public <T> Subscription onSubscribeReturn(Subscription subscription)
      Deprecated.
      Invoked after successful execution of Single.subscribe(Subscriber) with returned Subscription.

      This can be used to decorate or replace the Subscription instance or just perform extra logging, metrics and other such things and pass through the subscription.

      Type Parameters:
      T - the value type emitted by Single
      Parameters:
      subscription - original Subscription
      Returns:
      Subscription subscription that can be modified, decorated, replaced or just returned as a pass through
    • onSubscribeError

      @Deprecated public <T> Throwable onSubscribeError(Throwable e)
      Deprecated.
      Invoked after failed execution of Single.subscribe(Subscriber) with thrown Throwable.

      This is not errors emitted via Observer.onError(Throwable) but exceptions thrown when attempting to subscribe to a Func1invalid input: '<'Subscriber<T>, Subscription>.

      Type Parameters:
      T - the value type emitted by Single
      Parameters:
      e - Throwable thrown by Single.subscribe(Subscriber)
      Returns:
      Throwable that can be decorated, replaced or just returned as a pass through
    • onLift

      @Deprecated public <T, R> Observable.Operator<? extends R,? super T> onLift(Observable.Operator<? extends R,? super T> lift)
      Deprecated.
      Invoked just as the operator functions is called to bind two operations together into a new Single and the return value is used as the lifted function

      This can be used to decorate or replace the Observable.Operator instance or just perform extra logging, metrics and other such things and pass through the onSubscribe.

      Type Parameters:
      T - the upstream value type (input)
      R - the downstream value type (output)
      Parameters:
      lift - original Observable.Operator<R, T>
      Returns:
      Observable.Operator<R, T> function that can be modified, decorated, replaced or just returned as a pass through