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

インタフェースCompletionStage<T>

型パラメータ:
T - ステージが生成または消費する値のタイプ
既知のすべての実装クラス:
CompletableFuture

public interface CompletionStage<T>
CompletionStageが完了したときにアクションの実行または値の計算を行う、非同期の可能性がある計算のステージです。 ステージはその計算が終了したときに完了しますが、これに続いて他の依存ステージがトリガーされる場合があります。 このインタフェースで定義される機能は、少数の基本形式しか取りませんが、それらがより大規模なメソッドのセットに展開することで、一定範囲の使用スタイルに対応します。
  • ステージによって実行される計算は、引数を必要とするか、結果を生成するか、あるいはその両方かに応じて、Function、ConsumerまたはRunnableとして(それぞれapplyacceptまたはrunを含む名前を持つメソッドを使用して)表されます。 たとえば、
     
     stage.thenApply(x -> square(x))
          .thenAccept(x -> System.out.print(x))
          .thenRun(() -> System.out.println());
    追加の形式(compose)を使用すると、完了ステージを返す関数から計算パイプラインを構築できます。

    ステージの計算に対する引数は、トリガー・ステージの計算の結果です。

  • あるステージの実行は、1つのステージの完了、2つのステージの両方の完了または2つのステージのどちらかの完了によってトリガーされます。 1つのステージへの依存関係は、接頭辞thenを持つメソッドを使用して配置されます。 2つのステージの両方の完了によってトリガーされたステージでは、対応する名前を持つメソッドを使用して、それらの結果または効果を結合できます。 2つのステージのどちらかによってトリガーされたステージでは、どちらの結果または効果が依存ステージの計算に使用されるかに関して何も保証されません。
  • ステージ間の依存関係によって計算のトリガーは制御されますが、それ以外については特定の順序は保証されません。 また、新しいステージの計算の実行は、デフォルトの実行、デフォルトの非同期実行(ステージのデフォルトの非同期実行機能を使用する接尾辞asyncを持つメソッドを使用)、カスタム(指定されたExecutorを使用)の3つの方法のいずれかで配置されます。 デフォルトおよび非同期モードの実行プロパティは、このインタフェースではなく、CompletionStageの実装で指定されます。 明示的なExecutor引数を持つメソッドは、任意の実行プロパティを持っている場合や、同時実行をサポートしない場合もありますが、非同期性に対応する方法で処理が配置されます。
  • トリガー・ステージが正常に完了したか、例外的に完了したかに関係なく、(handlewhenComplete)形式の2つのメソッドで無条件計算がサポートされます。 メソッドexceptionallyは、トリガー・ステージが例外的に完了し、java catchキーワードと同様に置換結果を計算する場合にのみ、計算をサポートします。 他のすべてのケースでは、ステージの計算が(非チェック)例外またはエラーで異常終了した場合、その完了を必要とするすべての依存ステージは、その例外を原因として保持するCompletionExceptionで、例外で完了します。 ステージが2つのステージの両方に依存しており、両方が例外で完了した場合、CompletionExceptionはそれらの例外のどちらか1つに対応できます。 ステージが2つのステージのどちらかに依存しており、どちらか1つのみが例外で完了した場合は、依存ステージが正常に完了するか例外で完了するかに関して何も保証されません。 メソッドwhenCompleteの場合、指定されたアクション自体で例外が発生すると、ソース・ステージも例外的に完了しないかぎり、ステージはこの例外で例外的に完了します。この場合、ソース・ステージからの例外的な完了は優先され、依存ステージに伝播されます。

すべてのメソッドは、前述のトリガー、実行および例外完了の仕様に準拠します(これについては、各メソッドの仕様では繰り返し言及しません)。 また、完了の結果を受け入れるメソッドに結果を渡すために使用する(つまり、型Tのパラメータ用の)引数をnullにすることはできますが、他のパラメータにnull値を渡すとNullPointerExceptionがスローされます。

メソッド形式handleは、継続ステージを作成し、トリガーするCompletionStageの結果と例外の(もしあれば)の両方を与え、任意の結果を計算する、無条件に計算を実行する最も一般的な方法です。 メソッドwhenCompleteは似ていますが、新しいメソッドを計算するのではなく、トリガー・ステージの結果を保持します。 ステージの通常の結果はnullになる可能性があるため、どちらのメソッドも計算構造化する必要があります:

(result, exception) -> {
   if (exception == null) {
     // triggering stage completed normally
   } else {
     // triggering stage completed exceptionally
   }
 }

このインタフェースでは、初期の作成、強制的な正常または例外完了、完了のステータスまたは結果の調査、あるいはステージの完了の待機を行うメソッドは定義されません。 必要に応じて、CompletionStageを実装することで、このような効果を実現する手段を提供できます。 toCompletableFuture()メソッドは、共通の変換型を提供することにより、このインタフェースの異なる実装間の相互運用を可能にします。

導入されたバージョン:
1.8
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    acceptEither(CompletionStage<? extends T> other, Consumer<? super T> action)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定して実行される新しいCompletionStageを返します。
    acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。
    acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor)
    このステージまたは指定されたステージのいずれかが正常に完了したときに、指定されたエグゼキュータを使用して実行され、対応する結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。
    applyToEither(CompletionStage<? extends T> other, Function<? super T,U> fn)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定して実行される新しいCompletionStageを返します。
    applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T,U> fn)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。
    applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T,U> fn, Executor executor)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。
    このステージが例外で完了したときに、このステージの例外を指定された関数への引数に設定して実行される新しいCompletionStageを返します。
    新しいCompletionStageを返します。このステージが例外的に完了すると、この段階でデフォルトの非同期実行機能を使用し、指定された関数の引数としてこの段階例外で実行されます。
    exceptionallyAsync(Function<Throwable,? extends T> fn, Executor executor)
    このステージが例外的に完了すると、指定されたエグゼキュータを使用して、指定された関数の引数としてこのステージ例外で実行される新しいCompletionStageを返します。
    このステージが異常終了したときに、このステージ例外に適用された提供された関数の結果を使用して構成された、新しいCompletionStageを返します。
    このステージが異常終了したときに、このステージのデフォルトの非同期実行機能を使用して、このステージ例外に適用された提供関数の結果を使用して構成された新しいCompletionStageを返します。
    新しいCompletionStageを返します。このステージが例外的に完了すると、指定されたエグゼキュータを使用して、このステージ例外に適用された指定関数の結果を使用して構成されます。
    handle(BiFunction<? super T,Throwable,? extends U> fn)
    このステージが正常終了または異常終了した際に実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。
    handleAsync(BiFunction<? super T,Throwable,? extends U> fn)
    このステージが正常終了または異常終了した際にこのステージのデフォルト非同期実行機能を使って実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。
    handleAsync(BiFunction<? super T,Throwable,? extends U> fn, Executor executor)
    このステージが正常終了または異常終了した際に指定されたエグゼキュータを使って実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。
    このステージと指定された他のステージの両方が正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。
    このステージと他の指定されたステージの両方が正常に完了すると、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する、新しいCompletionStageを返します。
    runAfterBothAsync(CompletionStage<?> other, Runnable action, Executor executor)
    このステージと他の指定されたステージの両方が正常に完了すると、指定されたエグゼキュータを使用して指定されたアクションを実行する、新しいCompletionStageを返します。
    このステージと指定された他のステージのどちらかが正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。
    このステージと指定された他のステージのどちらかが正常に完了したときにこのステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。
    runAfterEitherAsync(CompletionStage<?> other, Runnable action, Executor executor)
    このステージと指定された他のステージのどちらかが正常に完了したときに指定されたエグゼキュータを使用して指定されたアクションを実行する新しいCompletionStageを返します。
    thenAccept(Consumer<? super T> action)
    このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定して実行される新しいCompletionStageを返します。
    thenAcceptAsync(Consumer<? super T> action)
    このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。
    thenAcceptAsync(Consumer<? super T> action, Executor executor)
    このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。
    thenAcceptBoth(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)
    このステージと指定された他のステージの両方が正常終了した際に実行される新しいCompletionStageを返します(実行時には、指定されたアクションの引数として2つの結果が使用される)。
    thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)
    このステージと他の指定されたステージの両方が正常に完了すると、このステージのデフォルトの非同期実行機能を使用して実行され、2つの結果が指定されたアクションの引数として使用される、新しいCompletionStageを返します。
    thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action, Executor executor)
    このステージと他の指定されたステージの両方が正常に完了すると、指定されたエグゼキュータを使用して実行され、2つの結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。
    thenApply(Function<? super T,? extends U> fn)
    このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定して実行される新しいCompletionStageを返します。
    thenApplyAsync(Function<? super T,? extends U> fn)
    このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。
    thenApplyAsync(Function<? super T,? extends U> fn, Executor executor)
    このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。
    <U, V> CompletionStage<V>
    thenCombine(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)
    このステージと指定された他のステージの両方が正常終了した際に実行される新しいCompletionStageを返します(実行時には、指定された関数の引数として2つの結果が使用される)。
    <U, V> CompletionStage<V>
    thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)
    このステージと他の指定されたステージの両方が正常に完了すると、このステージのデフォルトの非同期実行機能を使用して実行され、2つの結果が指定されたファンクションの引数として使用される、新しいCompletionStageを返します。
    <U, V> CompletionStage<V>
    thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn, Executor executor)
    このステージと他の指定されたステージの両方が正常に完了すると、指定されたエグゼキュータを使用して実行され、2つの結果が指定されたファンクションの引数として実行される新しいCompletionStageを返します。
    thenCompose(Function<? super T,? extends CompletionStage<U>> fn)
    指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。
    thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn)
    このステージのデフォルトの非同期実行機能を使用して実行された、指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。
    thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn, Executor executor)
    指定されたエグゼキュータを使用して実行される、指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。
    thenRun(Runnable action)
    このステージが正常に完了したときに、指定されたアクションを実行する新しいCompletionStageを返します。
    このステージが正常に完了したときに、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。
    thenRunAsync(Runnable action, Executor executor)
    このステージが正常に完了したときに指定されたExecutorを使用して指定されたアクションを実行する新しいCompletionStageを返します。
    このステージと同じ完了プロパティを保持するCompletableFutureを返します。
    whenComplete(BiConsumer<? super T,? super Throwable> action)
    このステージが完了したときに指定されたアクションを実行するこのステージと同じ結果または例外を使用して新しいCompletionStageを返します。
    whenCompleteAsync(BiConsumer<? super T,? super Throwable> action)
    このステージが完了したときに、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行するこのステージと同じ結果または例外を使用して新しいCompletionStageを返します。
    whenCompleteAsync(BiConsumer<? super T,? super Throwable> action, Executor executor)
    このステージが完了したときに、指定されたExecutorを使用して指定されたアクションを実行するこのステージと同じ結果または例外を使用して新しいCompletionStageを返します。
  • メソッドの詳細

    • thenApply

      <U> CompletionStage<U> thenApply(Function<? super T,? extends U> fn)
      このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定して実行される新しいCompletionStageを返します。

      このメソッドは、Optional.mapおよびStream.mapに似ています。

      例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。

      型パラメータ:
      U - 関数の戻り値の型
      パラメータ:
      fn - 返されるCompletionStageの値を計算するために使用される関数
      戻り値:
      新しいCompletionStage
    • thenApplyAsync

      <U> CompletionStage<U> thenApplyAsync(Function<? super T,? extends U> fn)
      このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      型パラメータ:
      U - 関数の戻り値の型
      パラメータ:
      fn - 返されるCompletionStageの値を計算するために使用される関数
      戻り値:
      新しいCompletionStage
    • thenApplyAsync

      <U> CompletionStage<U> thenApplyAsync(Function<? super T,? extends U> fn, Executor executor)
      このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      型パラメータ:
      U - 関数の戻り値の型
      パラメータ:
      fn - 返されるCompletionStageの値を計算するために使用される関数
      executor - 非同期実行に使用するエグゼキュータ
      戻り値:
      新しいCompletionStage
    • thenAccept

      CompletionStage<Void> thenAccept(Consumer<? super T> action)
      このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      action - 返されるCompletionStageを完了する前に実行するアクション
      戻り値:
      新しいCompletionStage
    • thenAcceptAsync

      CompletionStage<Void> thenAcceptAsync(Consumer<? super T> action)
      このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      action - 返されるCompletionStageを完了する前に実行するアクション
      戻り値:
      新しいCompletionStage
    • thenAcceptAsync

      CompletionStage<Void> thenAcceptAsync(Consumer<? super T> action, Executor executor)
      このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      action - 返されるCompletionStageを完了する前に実行するアクション
      executor - 非同期実行に使用するエグゼキュータ
      戻り値:
      新しいCompletionStage
    • thenRun

      CompletionStage<Void> thenRun(Runnable action)
      このステージが正常に完了したときに、指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      action - 返されるCompletionStageを完了する前に実行するアクション
      戻り値:
      新しいCompletionStage
    • thenRunAsync

      CompletionStage<Void> thenRunAsync(Runnable action)
      このステージが正常に完了したときに、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      action - 返されるCompletionStageを完了する前に実行するアクション
      戻り値:
      新しいCompletionStage
    • thenRunAsync

      CompletionStage<Void> thenRunAsync(Runnable action, Executor executor)
      このステージが正常に完了したときに指定されたExecutorを使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      action - 返されるCompletionStageを完了する前に実行するアクション
      executor - 非同期実行に使用するエグゼキュータ
      戻り値:
      新しいCompletionStage
    • thenCombine

      <U, V> CompletionStage<V> thenCombine(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)
      このステージと指定された他のステージの両方が正常終了した際に実行される新しいCompletionStageを返します(実行時には、指定された関数の引数として2つの結果が使用される)。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      型パラメータ:
      U - 他のCompletionStageの結果の型
      V - 関数の戻り値の型
      パラメータ:
      other - 他のCompletionStage
      fn - 返されるCompletionStageの値を計算するために使用される関数
      戻り値:
      新しいCompletionStage
    • thenCombineAsync

      <U, V> CompletionStage<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)
      このステージと他の指定されたステージの両方が正常に完了すると、このステージのデフォルトの非同期実行機能を使用して実行され、2つの結果が指定されたファンクションの引数として使用される、新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      型パラメータ:
      U - 他のCompletionStageの結果の型
      V - 関数の戻り値の型
      パラメータ:
      other - 他のCompletionStage
      fn - 返されるCompletionStageの値を計算するために使用される関数
      戻り値:
      新しいCompletionStage
    • thenCombineAsync

      <U, V> CompletionStage<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn, Executor executor)
      このステージと他の指定されたステージの両方が正常に完了すると、指定されたエグゼキュータを使用して実行され、2つの結果が指定されたファンクションの引数として実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      型パラメータ:
      U - 他のCompletionStageの結果の型
      V - 関数の戻り値の型
      パラメータ:
      other - 他のCompletionStage
      fn - 返されるCompletionStageの値を計算するために使用される関数
      executor - 非同期実行に使用するエグゼキュータ
      戻り値:
      新しいCompletionStage
    • thenAcceptBoth

      <U> CompletionStage<Void> thenAcceptBoth(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)
      このステージと指定された他のステージの両方が正常終了した際に実行される新しいCompletionStageを返します(実行時には、指定されたアクションの引数として2つの結果が使用される)。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      型パラメータ:
      U - 他のCompletionStageの結果の型
      パラメータ:
      other - 他のCompletionStage
      action - 返されるCompletionStageを完了する前に実行するアクション
      戻り値:
      新しいCompletionStage
    • thenAcceptBothAsync

      <U> CompletionStage<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)
      このステージと他の指定されたステージの両方が正常に完了すると、このステージのデフォルトの非同期実行機能を使用して実行され、2つの結果が指定されたアクションの引数として使用される、新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      型パラメータ:
      U - 他のCompletionStageの結果の型
      パラメータ:
      other - 他のCompletionStage
      action - 返されるCompletionStageを完了する前に実行するアクション
      戻り値:
      新しいCompletionStage
    • thenAcceptBothAsync

      <U> CompletionStage<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action, Executor executor)
      このステージと他の指定されたステージの両方が正常に完了すると、指定されたエグゼキュータを使用して実行され、2つの結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      型パラメータ:
      U - 他のCompletionStageの結果の型
      パラメータ:
      other - 他のCompletionStage
      action - 返されるCompletionStageを完了する前に実行するアクション
      executor - 非同期実行に使用するエグゼキュータ
      戻り値:
      新しいCompletionStage
    • runAfterBoth

      CompletionStage<Void> runAfterBoth(CompletionStage<?> other, Runnable action)
      このステージと指定された他のステージの両方が正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      other - 他のCompletionStage
      action - 返されるCompletionStageを完了する前に実行するアクション
      戻り値:
      新しいCompletionStage
    • runAfterBothAsync

      CompletionStage<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action)
      このステージと他の指定されたステージの両方が正常に完了すると、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する、新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      other - 他のCompletionStage
      action - 返されるCompletionStageを完了する前に実行するアクション
      戻り値:
      新しいCompletionStage
    • runAfterBothAsync

      CompletionStage<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action, Executor executor)
      このステージと他の指定されたステージの両方が正常に完了すると、指定されたエグゼキュータを使用して指定されたアクションを実行する、新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      other - 他のCompletionStage
      action - 返されるCompletionStageを完了する前に実行するアクション
      executor - 非同期実行に使用するエグゼキュータ
      戻り値:
      新しいCompletionStage
    • applyToEither

      <U> CompletionStage<U> applyToEither(CompletionStage<? extends T> other, Function<? super T,U> fn)
      このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      型パラメータ:
      U - 関数の戻り値の型
      パラメータ:
      other - 他のCompletionStage
      fn - 返されるCompletionStageの値を計算するために使用される関数
      戻り値:
      新しいCompletionStage
    • applyToEitherAsync

      <U> CompletionStage<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T,U> fn)
      このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      型パラメータ:
      U - 関数の戻り値の型
      パラメータ:
      other - 他のCompletionStage
      fn - 返されるCompletionStageの値を計算するために使用される関数
      戻り値:
      新しいCompletionStage
    • applyToEitherAsync

      <U> CompletionStage<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T,U> fn, Executor executor)
      このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      型パラメータ:
      U - 関数の戻り値の型
      パラメータ:
      other - 他のCompletionStage
      fn - 返されるCompletionStageの値を計算するために使用される関数
      executor - 非同期実行に使用するエグゼキュータ
      戻り値:
      新しいCompletionStage
    • acceptEither

      CompletionStage<Void> acceptEither(CompletionStage<? extends T> other, Consumer<? super T> action)
      このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      other - 他のCompletionStage
      action - 返されるCompletionStageを完了する前に実行するアクション
      戻り値:
      新しいCompletionStage
    • acceptEitherAsync

      CompletionStage<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action)
      このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      other - 他のCompletionStage
      action - 返されるCompletionStageを完了する前に実行するアクション
      戻り値:
      新しいCompletionStage
    • acceptEitherAsync

      CompletionStage<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor)
      このステージまたは指定されたステージのいずれかが正常に完了したときに、指定されたエグゼキュータを使用して実行され、対応する結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      other - 他のCompletionStage
      action - 返されるCompletionStageを完了する前に実行するアクション
      executor - 非同期実行に使用するエグゼキュータ
      戻り値:
      新しいCompletionStage
    • runAfterEither

      CompletionStage<Void> runAfterEither(CompletionStage<?> other, Runnable action)
      このステージと指定された他のステージのどちらかが正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      other - 他のCompletionStage
      action - 返されるCompletionStageを完了する前に実行するアクション
      戻り値:
      新しいCompletionStage
    • runAfterEitherAsync

      CompletionStage<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action)
      このステージと指定された他のステージのどちらかが正常に完了したときにこのステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      other - 他のCompletionStage
      action - 返されるCompletionStageを完了する前に実行するアクション
      戻り値:
      新しいCompletionStage
    • runAfterEitherAsync

      CompletionStage<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action, Executor executor)
      このステージと指定された他のステージのどちらかが正常に完了したときに指定されたエグゼキュータを使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。
      パラメータ:
      other - 他のCompletionStage
      action - 返されるCompletionStageを完了する前に実行するアクション
      executor - 非同期実行に使用するエグゼキュータ
      戻り値:
      新しいCompletionStage
    • thenCompose

      <U> CompletionStage<U> thenCompose(Function<? super T,? extends CompletionStage<U>> fn)
      指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。

      このステージが正常に完了すると、指定されたファンクションが引数としてこのステージの結果とともに起動され、別のCompletionStageが返されます。 そのステージが正常に完了すると、このメソッドによって返されるCompletionStageは同じ値で完了します。

      進行を確実にするには、指定された関数が結果の最終的な完了を整理する必要があります。

      このメソッドは、Optional.flatMapおよびStream.flatMapに似ています。

      例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。

      型パラメータ:
      U - 返されるCompletionStageの結果の型
      パラメータ:
      fn - 別のCompletionStageのコンピュートに使用する関数
      戻り値:
      新しいCompletionStage
    • thenComposeAsync

      <U> CompletionStage<U> thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn)
      このステージのデフォルトの非同期実行機能を使用して実行された、指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。

      このステージが正常に完了すると、指定されたファンクションが引数としてこのステージの結果とともに起動され、別のCompletionStageが返されます。 そのステージが正常に完了すると、このメソッドによって返されるCompletionStageは同じ値で完了します。

      進行を確実にするには、指定された関数が結果の最終的な完了を整理する必要があります。

      例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。

      型パラメータ:
      U - 返されるCompletionStageの結果の型
      パラメータ:
      fn - 別のCompletionStageのコンピュートに使用する関数
      戻り値:
      新しいCompletionStage
    • thenComposeAsync

      <U> CompletionStage<U> thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn, Executor executor)
      指定されたエグゼキュータを使用して実行される、指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。

      このステージが正常に完了すると、指定されたファンクションが引数としてこのステージの結果とともに起動され、別のCompletionStageが返されます。 そのステージが正常に完了すると、このメソッドによって返されるCompletionStageは同じ値で完了します。

      進行を確実にするには、指定された関数が結果の最終的な完了を整理する必要があります。

      例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。

      型パラメータ:
      U - 返されるCompletionStageの結果の型
      パラメータ:
      fn - 別のCompletionStageのコンピュートに使用する関数
      executor - 非同期実行に使用するエグゼキュータ
      戻り値:
      新しいCompletionStage
    • handle

      <U> CompletionStage<U> handle(BiFunction<? super T,Throwable,? extends U> fn)
      このステージが正常終了または異常終了した際に実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。

      このステージの終了時に、指定された関数は、このステージの結果(ない場合はnull)と例外(ない場合はnull)を引数に指定して呼び出され、関数の結果を使用して返されたステージが完了します。

      型パラメータ:
      U - 関数の戻り値の型
      パラメータ:
      fn - 返されるCompletionStageの値を計算するために使用される関数
      戻り値:
      新しいCompletionStage
    • handleAsync

      <U> CompletionStage<U> handleAsync(BiFunction<? super T,Throwable,? extends U> fn)
      このステージが正常終了または異常終了した際にこのステージのデフォルト非同期実行機能を使って実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。

      このステージの終了時に、指定された関数は、このステージの結果(ない場合はnull)と例外(ない場合はnull)を引数に指定して呼び出され、関数の結果を使用して返されたステージが完了します。

      型パラメータ:
      U - 関数の戻り値の型
      パラメータ:
      fn - 返されるCompletionStageの値を計算するために使用される関数
      戻り値:
      新しいCompletionStage
    • handleAsync

      <U> CompletionStage<U> handleAsync(BiFunction<? super T,Throwable,? extends U> fn, Executor executor)
      このステージが正常終了または異常終了した際に指定されたエグゼキュータを使って実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。

      このステージの終了時に、指定された関数は、このステージの結果(ない場合はnull)と例外(ない場合はnull)を引数に指定して呼び出され、関数の結果を使用して返されたステージが完了します。

      型パラメータ:
      U - 関数の戻り値の型
      パラメータ:
      fn - 返されるCompletionStageの値を計算するために使用される関数
      executor - 非同期実行に使用するエグゼキュータ
      戻り値:
      新しいCompletionStage
    • whenComplete

      CompletionStage<T> whenComplete(BiConsumer<? super T,? super Throwable> action)
      このステージが完了したときに指定されたアクションを実行するこのステージと同じ結果または例外を使用して新しいCompletionStageを返します。

      このステージの終了時に、指定されたアクションは、このステージの結果(ない場合はnull)と例外(ない場合はnull)を引数に指定して呼び出されます。 アクションが返されたときに、返されたステージが完了します。

      メソッドhandleとは異なり、このメソッドは完了結果を変換するように設計されていないため、指定されたアクションは例外をスローしないでください。 ただし、その場合、次のルールが適用されます: このステージが正常に完了したが、指定されたアクションが例外をスローした場合、返されたステージは、指定されたアクションの例外とともに例外的に完了します。 または、このステージが例外的に完了し、指定されたアクションが例外をスローした場合、戻されたステージはこのステージの例外で例外的に完了します。

      パラメータ:
      action - 実行するアクション
      戻り値:
      新しいCompletionStage
    • whenCompleteAsync

      CompletionStage<T> whenCompleteAsync(BiConsumer<? super T,? super Throwable> action)
      このステージが完了したときに、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行するこのステージと同じ結果または例外を使用して新しいCompletionStageを返します。

      このステージの終了時に、指定されたアクションは、このステージの結果(ない場合はnull)と例外(ない場合はnull)を引数に指定して呼び出されます。 アクションが返されたときに、返されたステージが完了します。

      メソッドhandleAsyncとは異なり、このメソッドは完了結果を変換するように設計されていないため、指定されたアクションは例外をスローしないでください。 ただし、その場合、次のルールが適用されます: このステージが正常に完了したが、指定されたアクションが例外をスローした場合、返されたステージは、指定されたアクションの例外とともに例外的に完了します。 または、このステージが例外的に完了し、指定されたアクションが例外をスローした場合、戻されたステージはこのステージの例外で例外的に完了します。

      パラメータ:
      action - 実行するアクション
      戻り値:
      新しいCompletionStage
    • whenCompleteAsync

      CompletionStage<T> whenCompleteAsync(BiConsumer<? super T,? super Throwable> action, Executor executor)
      このステージが完了したときに、指定されたExecutorを使用して指定されたアクションを実行するこのステージと同じ結果または例外を使用して新しいCompletionStageを返します。

      このステージの終了時に、指定されたアクションは、このステージの結果(ない場合はnull)と例外(ない場合はnull)を引数に指定して呼び出されます。 アクションが返されたときに、返されたステージが完了します。

      メソッドhandleAsyncとは異なり、このメソッドは完了結果を変換するように設計されていないため、指定されたアクションは例外をスローしないでください。 ただし、その場合、次のルールが適用されます: このステージが正常に完了したが、指定されたアクションが例外をスローした場合、返されたステージは、指定されたアクションの例外とともに例外的に完了します。 または、このステージが例外的に完了し、指定されたアクションが例外をスローした場合、戻されたステージはこのステージの例外で例外的に完了します。

      パラメータ:
      action - 実行するアクション
      executor - 非同期実行に使用するエグゼキュータ
      戻り値:
      新しいCompletionStage
    • exceptionally

      CompletionStage<T> exceptionally(Function<Throwable,? extends T> fn)
      このステージが例外で完了したときに、このステージの例外を指定された関数への引数に設定して実行される新しいCompletionStageを返します。 このステージが正常に完了した場合は、返されるステージも同じ値で正常に完了します。
      パラメータ:
      fn - このCompletionStageが例外で完了した場合に返されるCompletionStageの値を計算するために使用される関数
      戻り値:
      新しいCompletionStage
    • exceptionallyAsync

      default CompletionStage<T> exceptionallyAsync(Function<Throwable,? extends T> fn)
      新しいCompletionStageを返します。このステージが例外的に完了すると、この段階でデフォルトの非同期実行機能を使用し、指定された関数の引数としてこの段階例外で実行されます。 このステージが正常に完了した場合は、返されるステージも同じ値で正常に完了します。
      実装要件:
      デフォルトの実装では、handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>)が例外でhandleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>)に緩和され、結果としてthenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>)が呼び出されます。
      パラメータ:
      fn - このCompletionStageが例外で完了した場合に返されるCompletionStageの値を計算するために使用される関数
      戻り値:
      新しいCompletionStage
      導入されたバージョン:
      12
    • exceptionallyAsync

      default CompletionStage<T> exceptionallyAsync(Function<Throwable,? extends T> fn, Executor executor)
      このステージが例外的に完了すると、指定されたエグゼキュータを使用して、指定された関数の引数としてこのステージ例外で実行される新しいCompletionStageを返します。 このステージが正常に完了した場合は、返されるステージも同じ値で正常に完了します。
      実装要件:
      デフォルトの実装では、handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>)が例外でhandleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>)に緩和され、結果としてthenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>)が呼び出されます。
      パラメータ:
      fn - このCompletionStageが例外で完了した場合に返されるCompletionStageの値を計算するために使用される関数
      executor - 非同期実行に使用するエグゼキュータ
      戻り値:
      新しいCompletionStage
      導入されたバージョン:
      12
    • exceptionallyCompose

      default CompletionStage<T> exceptionallyCompose(Function<Throwable,? extends CompletionStage<T>> fn)
      このステージが異常終了したときに、このステージ例外に適用された提供された関数の結果を使用して構成された、新しいCompletionStageを返します。
      実装要件:
      デフォルトの実装は、handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>)を起動し、例外時に指定されたファンクションを起動し、結果としてthenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>)を起動します。
      パラメータ:
      fn - このCompletionStageが例外的に完了した場合に、返されたCompletionStageをコンピュートするために使用する関数
      戻り値:
      新しいCompletionStage
      導入されたバージョン:
      12
    • exceptionallyComposeAsync

      default CompletionStage<T> exceptionallyComposeAsync(Function<Throwable,? extends CompletionStage<T>> fn)
      このステージが異常終了したときに、このステージのデフォルトの非同期実行機能を使用して、このステージ例外に適用された提供関数の結果を使用して構成された新しいCompletionStageを返します。
      実装要件:
      デフォルトの実装では、handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>)が例外でhandleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>)に緩和され、結果としてthenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>)が呼び出されます。
      パラメータ:
      fn - このCompletionStageが例外的に完了した場合に、返されたCompletionStageをコンピュートするために使用する関数
      戻り値:
      新しいCompletionStage
      導入されたバージョン:
      12
    • exceptionallyComposeAsync

      default CompletionStage<T> exceptionallyComposeAsync(Function<Throwable,? extends CompletionStage<T>> fn, Executor executor)
      新しいCompletionStageを返します。このステージが例外的に完了すると、指定されたエグゼキュータを使用して、このステージ例外に適用された指定関数の結果を使用して構成されます。
      実装要件:
      デフォルトの実装では、handle(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>)が例外でhandleAsync(java.util.function.BiFunction<? super T, java.lang.Throwable, ? extends U>)に緩和され、結果としてthenCompose(java.util.function.Function<? super T, ? extends java.util.concurrent.CompletionStage<U>>)が呼び出されます。
      パラメータ:
      fn - このCompletionStageが例外的に完了した場合に、返されたCompletionStageをコンピュートするために使用する関数
      executor - 非同期実行に使用するエグゼキュータ
      戻り値:
      新しいCompletionStage
      導入されたバージョン:
      12
    • toCompletableFuture

      CompletableFuture<T> toCompletableFuture()
      このステージと同じ完了プロパティを保持するCompletableFutureを返します。 このステージがすでにCompletableFutureである場合、このメソッドはこのステージ自体を返すことがあります。 それ以外の場合は、このメソッドを呼び出すと、thenApply(x -> x)と同等の効果が得られますが、CompletableFuture型のインスタンスが返されます。
      戻り値:
      CompletableFuture