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 class
SerialSubscription.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 Subscription
get()
Retrieves the currentSubscription
that is being represented by thisSerialSubscription
.boolean
isUnsubscribed()
Indicates whether thisSubscription
is currently unsubscribed.void
set(Subscription s)
Swaps out the oldSubscription
for the specifiedSubscription
.void
unsubscribe()
Stops the receipt of notifications on theSubscriber
that 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:Subscription
Indicates whether thisSubscription
is currently unsubscribed.- Specified by:
isUnsubscribed
in interfaceSubscription
- Returns:
true
if thisSubscription
is currently unsubscribed,false
otherwise
-
unsubscribe
public void unsubscribe()
Description copied from interface:Subscription
Stops the receipt of notifications on theSubscriber
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 interfaceSubscription
-
set
public void set(Subscription s)
Swaps out the oldSubscription
for the specifiedSubscription
.- Parameters:
s
- the newSubscription
to swap in- Throws:
java.lang.IllegalArgumentException
- ifs
isnull
-
get
public Subscription get()
Retrieves the currentSubscription
that is being represented by thisSerialSubscription
.- Returns:
- the current
Subscription
that is being represented by thisSerialSubscription
-
-