モジュール java.base
パッケージ java.util.concurrent

インタフェースFlow.Publisher<T>

型パラメータ:
T - 公開アイテム型
既知のすべてのサブインタフェース:
Flow.Processor<T,​R>, HttpRequest.BodyPublisher
既知のすべての実装クラス:
SubmissionPublisher
含まれているクラス:
Flow
関数型インタフェース:
これは関数型インタフェースなので、ラムダ式またはメソッド参照の代入先として使用できます。

@FunctionalInterface
public static interface Flow.Publisher<T>
サブスクライブ者が受け取ったアイテム(および関連する制御メッセージ)のプロデューサ。 現在の各Flow.Subscriberは、ドロップまたはエラーが発生しない限り、同じ順序で同じアイテム(経由メソッドonNext)を受け取ります。 パブリッシャがアイテムをサブスクライバに発行できないようなエラーが発生した場合、そのサブスクライバはonErrorを受信し、それ以上メッセージを受信しません。 それ以外のメッセージがそれ以上発行されないことがわかっている場合、サブスクライバは onCompleteを受信します。 パブリッシャは、各サブスクリプションのSubscriberメソッド呼び出しを厳密にhappens-beforeの順序で順序付けするようにします。

パブリッシャは、drop (リソースの制限のためにアイテムを発行できない)が回復不能なエラーとして扱われるかどうかについてポリシーが異なる場合があります。 また、サブスクライブ者は、サブスクライブする前に制作された商品や利用可能な商品を受け取るかどうかについても異なる場合があります。

  • メソッドのサマリー

    修飾子と型 メソッド 説明
    void subscribe​(Flow.Subscriber<? super T> subscriber)
    可能であれば、指定されたサブスクライバを追加します。
  • メソッドの詳細

    • subscribe

      void subscribe​(Flow.Subscriber<? super T> subscriber)
      可能であれば、指定されたサブスクライバを追加します。 すでに加入している場合、またはポリシー違反またはエラーのために加入しようとする試みが失敗した場合、サブスクライバonErrorメソッドはIllegalStateExceptionを使用して呼び出されます。 そうでなければ、サブスクライバのonSubscribeメソッドが新しいFlow.Subscriptionで呼び出されます。 サブスクライバは、このサブスクリプションのrequestメソッドを呼び出してアイテムを受信できるようにし、cancelメソッドを呼び出すことによってサブスクリプションを解除することができます。
      パラメータ:
      subscriber - サブスクライバ
      例外:
      NullPointerException - subscriberがnullの場合