Class CompositeSubscription

java.lang.Object
rx.subscriptions.CompositeSubscription
All Implemented Interfaces:
Subscription

public final class CompositeSubscription extends Object implements Subscription
Subscription that represents a group of Subscriptions that are unsubscribed together.

All methods of this class are thread-safe.

  • Field Details

    • subscriptions

      private Set<Subscription> subscriptions
    • unsubscribed

      private volatile boolean unsubscribed
  • Constructor Details

    • CompositeSubscription

      public CompositeSubscription()
      Constructs an empty Composite subscription.
    • CompositeSubscription

      public CompositeSubscription(Subscription... subscriptions)
  • Method Details

    • 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
    • add

      public void add(Subscription s)
      Adds a new Subscription to this CompositeSubscription if the CompositeSubscription is not yet unsubscribed. If the CompositeSubscription is unsubscribed, add will indicate this by explicitly unsubscribing the new Subscription as well.
      Parameters:
      s - the Subscription to add
    • addAll

      public void addAll(Subscription... subscriptions)
      Adds collection of Subscription to this CompositeSubscription if the CompositeSubscription is not yet unsubscribed. If the CompositeSubscription is unsubscribed, addAll will indicate this by explicitly unsubscribing all Subscription in collection as well.
      Parameters:
      subscriptions - the collection of Subscription to add
    • remove

      public void remove(Subscription s)
      Removes a Subscription from this CompositeSubscription, and unsubscribes the Subscription.
      Parameters:
      s - the Subscription to remove
    • clear

      public void clear()
      Unsubscribes any subscriptions that are currently part of this CompositeSubscription and remove them from the CompositeSubscription so that the CompositeSubscription is empty and able to manage new subscriptions.
    • unsubscribe

      public void unsubscribe()
      Unsubscribes itself and all inner subscriptions.

      After call of this method, new Subscriptions added to CompositeSubscription will be unsubscribed immediately.

      Specified by:
      unsubscribe in interface Subscription
    • unsubscribeFromAll

      private static void unsubscribeFromAll(Collection<Subscription> subscriptions)
    • hasSubscriptions

      public boolean hasSubscriptions()
      Returns true if this composite is not unsubscribed and contains subscriptions.
      Returns:
      true if this composite is not unsubscribed and contains subscriptions.
      Since:
      1.0.7