Module javafx.base
Package javafx.util

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.

@FunctionalInterface public interface Subscription
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