Интерфейс Subscription
- Функциональный интерфейс:
- Это функциональный интерфейс и, следовательно, может быть использован в качестве цели присваивания лямбда-выражения или ссылки на метод.
@FunctionalInterface public interface Subscription
Представляет операцию отмены или очистки для действия, которое может быть отменено или которое выделяет ресурсы. Подписки могут быть получены, например, в результате регистрации обратного вызова, запуска таймера или выделения ресурсов. Они предоставляют удобный способ для подписчиков отменять эти действия в более позднее время, без необходимости дополнительной информации или даже доступа к источнику, из которого они были первоначально получены.
class Publisher {
public Subscription subscribe(Consumer<NewsLetter> subscriber) {
register(subscriber);
// return a Subscription which unregisters the original subscriber
return () -> unregister(subscriber);
}
}
Подписки также могут быть объединены с помощью combine(javafx.util.Subscription...) и and(javafx.util.Subscription), что позволяет отменить несколько подписок вместе. Это полезно, когда они разделяют один и тот же жизненный цикл, например, при выполнении очистки для одного и того же объекта.
- С:
- 21
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final Subscription |
EMPTY |
Пустая подписка. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
default Subscription |
and |
Объединяет эту Subscription с заданной Subscription и возвращает новую Subscription, которая отменит обе при отмене. |
static Subscription |
combine |
Возвращает Subscription, которая объединяет все заданные подписки. |
void |
unsubscribe() |
Отменяет эту подписку или ничего не делает, если она уже отменена. |
Подробное описание полей
EMPTY
static final Subscription EMPTY
Пустая подписка. Не делает ничего при отмене.
Подробное описание методов
combine
static Subscription combine(Subscription... subscriptions)
Возвращает
Subscription, которая объединяет все заданные подписки.- Параметры:
-
subscriptions- массив подписок для объединения, не может бытьnullили содержатьnull - Возвращает:
- объединённую
Subscription, никогдаnull - Исключение:
-
NullPointerException- когдаsubscriptionsявляетсяnullили содержитnull
unsubscribe
void unsubscribe()
Отменяет эту подписку или ничего не делает, если она уже отменена.
- Требования к реализации:
- Реализаторы должны гарантировать, что реализация является идемпотентной (не действует, если вызывается более одного раза).
and
default Subscription and(Subscription other)
Объединяет эту
Subscription с заданной Subscription и возвращает новую Subscription, которая отменит обе при отмене. Эквивалентно Subscription.combine(this, other).
- Параметры:
-
other- другаяSubscription, не может бытьnull - Возвращает:
- объединённую
Subscription, которая отменит обе при отмене, никогдаnull - Исключение:
-
NullPointerException- когдаotherявляетсяnull
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.