Package rx.subscriptions
Class SerialSubscription
- java.lang.Object
-
- rx.subscriptions.SerialSubscription
-
- All Implemented Interfaces:
Subscription
public final class SerialSubscription extends java.lang.Object implements Subscription
Represents a subscription whose underlying subscription can be swapped for another subscription which causes the previous underlying subscription to be unsubscribed.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classSerialSubscription.State
-
Field Summary
Fields Modifier and Type Field Description (package private) java.util.concurrent.atomic.AtomicReference<SerialSubscription.State>state
-
Constructor Summary
Constructors Constructor Description SerialSubscription()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Subscriptionget()Retrieves the currentSubscriptionthat is being represented by thisSerialSubscription.booleanisUnsubscribed()Indicates whether thisSubscriptionis currently unsubscribed.voidset(Subscription s)Swaps out the oldSubscriptionfor the specifiedSubscription.voidunsubscribe()Stops the receipt of notifications on theSubscriberthat was registered when this Subscription was received.
-
-
-
Field Detail
-
state
final java.util.concurrent.atomic.AtomicReference<SerialSubscription.State> state
-
-
Method Detail
-
isUnsubscribed
public boolean isUnsubscribed()
Description copied from interface:SubscriptionIndicates whether thisSubscriptionis currently unsubscribed.- Specified by:
isUnsubscribedin interfaceSubscription- Returns:
trueif thisSubscriptionis currently unsubscribed,falseotherwise
-
unsubscribe
public void unsubscribe()
Description copied from interface:SubscriptionStops the receipt of notifications on theSubscriberthat was registered when this Subscription was received.This allows unregistering an
Subscriberbefore it has finished receiving all events (i.e. before onCompleted is called).- Specified by:
unsubscribein interfaceSubscription
-
set
public void set(Subscription s)
Swaps out the oldSubscriptionfor the specifiedSubscription.- Parameters:
s- the newSubscriptionto swap in- Throws:
java.lang.IllegalArgumentException- ifsisnull
-
get
public Subscription get()
Retrieves the currentSubscriptionthat is being represented by thisSerialSubscription.- Returns:
- the current
Subscriptionthat is being represented by thisSerialSubscription
-
-