Интерфейс Flow.Publisher<T>
- Параметры типа:
T- тип публикуемого элемента
- Все известные подынтерфейсы:
Flow.Processor<T,R>, HttpRequest.BodyPublisher
- Все известные реализующие классы:
SubmissionPublisher
- Внешний класс:
Flow
- Функциональный интерфейс:
- Это функциональный интерфейс, поэтому его можно использовать в качестве цели присваивания для лямбда-выражения или ссылки на метод.
@FunctionalInterface public static interface Flow.Publisher<T>
Flow.Subscriber получает одни и те же элементы (через метод onNext) в одном и том же порядке, если только не происходят пропуски или ошибки. Если издатель сталкивается с ошибкой, не позволяющей передавать элементы подписчику, этот подписчик получает onError, после чего больше не получает сообщений. В противном случае, когда становится известно, что ему больше не будут передаваться сообщения, подписчик получает
onComplete. Издатели обеспечивают строгий порядок вызовов методов подписчика для каждой подписки в порядке happens-before. Политики издателей могут различаться в отношении того, считаются ли пропуски (невозможность передать элемент из-за ограничений ресурсов) неисправимыми ошибками. Политики издателей также могут различаться в отношении того, получают ли подписчики элементы, созданные или доступные до их подписки.
- Начиная с:
- 9
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
subscribe |
Добавляет указанного подписчика, если это возможно. |
Подробное описание методов
subscribe
void subscribe(Flow.Subscriber<? super T> subscriber)
onError подписчика с объектом IllegalStateException. В противном случае вызывается метод onSubscribe подписчика с новой Flow.Subscription. Подписчики могут разрешить получение элементов, вызвав метод request этой подписки, и могут отписаться, вызвав ее метод cancel.- Параметры:
-
subscriber- подписчик - Вызывает исключение:
-
NullPointerException- если подписчик равен null
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/Flow.Publisher.html