Class ScheduledAction

All Implemented Interfaces:
Serializable, Runnable, Subscription

public final class ScheduledAction extends AtomicReference<Thread> implements Runnable, Subscription
A Runnable that executes an Action0 and can be cancelled. The analog is the Subscriber in respect of an Observer.
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • run

      public void run()
      Specified by:
      run in interface Runnable
    • signalError

      void signalError(Throwable ie)
    • isUnsubscribed

      public boolean isUnsubscribed()
      Description copied from interface: Subscription
      Indicates whether this Subscription is currently unsubscribed.
      Specified by:
      isUnsubscribed in interface Subscription
      Returns:
      true if this Subscription is currently unsubscribed, false otherwise
    • unsubscribe

      public void unsubscribe()
      Description copied from interface: Subscription
      Stops the receipt of notifications on the Subscriber that was registered when this Subscription was received.

      This allows unregistering an Subscriber before it has finished receiving all events (i.e. before onCompleted is called).

      Specified by:
      unsubscribe in interface Subscription
    • add

      public void add(Subscription s)
      Adds a general Subscription to this ScheduledAction that will be unsubscribed if the underlying action completes or the this scheduled action is cancelled.
      Parameters:
      s - the Subscription to add
    • add

      public void add(Future<?> f)
      Adds the given Future to the unsubscription composite in order to support cancelling the underlying task in the executor framework.
      Parameters:
      f - the future to add
    • addParent

      public void addParent(CompositeSubscription parent)
      Adds a parent CompositeSubscription to this ScheduledAction so when the action is cancelled or terminates, it can remove itself from this parent.
      Parameters:
      parent - the parent CompositeSubscription to add
    • addParent

      public void addParent(SubscriptionList parent)
      Adds a parent CompositeSubscription to this ScheduledAction so when the action is cancelled or terminates, it can remove itself from this parent.
      Parameters:
      parent - the parent CompositeSubscription to add