Интерфейс 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/concurrent/Flow.Publisher.html