Spec-Zone.ru › OpenJavaFX 24

Интерфейс 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 other)
Объединяет данную Subscription с заданной Subscription и возвращает новую Subscription, которая отменяет обе при отмене.
static Subscription combine(Subscription... subscriptions)
Возвращает 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 и/или его аффилированные лица. Все права защищены.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API