Интерфейс 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.