モジュール 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を受け取ります。 パブリッシャは、各サブスクリプションのサブスクライバ・メソッド呼出しが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 - subscriberがnullの場合