Spec-Zone.ru › OpenJDK 21

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

Политика издателей может различаться по поводу того, считаются ли сбои (невозможность передачи элемента из-за ограничений ресурсов) необратимыми ошибками. Издатели также могут различаться по поводу того, получают ли подписчики элементы, которые были произведены или доступны до их подписки.

Краткое описание методов

Модификатор и тип Метод Описание
void subscribe(Flow.Subscriber<? super T> subscriber)
Добавляет указанного подписчика, если это возможно.

Подробное описание методов

subscribe

void subscribe(Flow.Subscriber<? super T> subscriber)
Добавляет указанного подписчика, если это возможно. Если подписка уже существует, или попытка подписки терпит неудачу из-за нарушений политики или ошибок, метод onError подписчика вызывается с IllegalStateException. В противном случае, метод onSubscribe подписчика вызывается с новой Flow.Subscription. Подписчики могут включить получение элементов, вызвав метод request этой подписки, и могут отписаться, вызвав её метод cancel.
Параметры:
subscriber - подписчик
Исключения:
NullPointerException - если подписчик равен null

© 1993, 2023, 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/21/docs/api/java.base/java/util/concurrent/Flow.Publisher.html

Spec-Zone.ru

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