Interface Subscription
- Functional Interface:
 - This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
 
Represents a cancel or cleanup operation for an action that can be cancelled or
 that allocated resources. Subscriptions can be obtained, for example, as a result
 of registering a callback, starting a timer, or allocating resources. They
 provide a convenient way for subscribers to cancel these actions at a later time,
 without requiring additional information or even access to the source from where
 they were originally obtained.
 
 class Publisher {
   public Subscription subscribe(Consumer<NewsLetter> subscriber) {
     register(subscriber);
     // return a Subscription which unregisters the original subscriber
     return () -> unregister(subscriber);
   }
 }
 
 Subscriptions can also be combined using combine(javafx.util.Subscription...) and and(javafx.util.Subscription),
 which allows for multiple subscriptions to be unsubscribed together. This is
 useful when they share the same lifecycle, for example, when performing
 cleanup for the same object.
- Since:
 - 21
 
- 
Field Summary
Fields - 
Method Summary
Modifier and TypeMethodDescriptiondefault Subscriptionand(Subscription other) Combines thisSubscriptionwith the givenSubscriptionand returns a newSubscriptionwhich will cancel both when cancelled.static Subscriptioncombine(Subscription... subscriptions) Returns aSubscriptionwhich combines all of the given subscriptions.voidCancels this subscription, or does nothing if already cancelled. 
- 
Field Details
- 
EMPTY
An empty subscription. Does nothing when cancelled. 
 - 
 - 
Method Details
- 
combine
Returns aSubscriptionwhich combines all of the given subscriptions.- Parameters:
 subscriptions- an array of subscriptions to combine, cannot benullor containnull- Returns:
 - a 
Subscription, nevernull - Throws:
 NullPointerException- whensubscriptionsisnullor containsnull
 - 
unsubscribe
void unsubscribe()Cancels this subscription, or does nothing if already cancelled.- Implementation Requirements:
 - Implementors must ensure the implementation is idempotent (a no-op if called more than once).
 
 - 
and
Combines thisSubscriptionwith the givenSubscriptionand returns a newSubscriptionwhich will cancel both when cancelled.This is equivalent to
Subscription.combine(this, other).- Parameters:
 other- anotherSubscription, cannot benull- Returns:
 - a combined 
Subscriptionwhich will cancel both when cancelled, nevernull - Throws:
 NullPointerException- whenotherisnull
 
 -