-
- 既知のすべての実装クラス:
CompletableFuture
public interface CompletionStage<T>
CompletionStageが完了したときにアクションの実行または値の計算を行う、非同期の可能性がある計算のステージです。 ステージはその計算が終了したときに完了しますが、これに続いて他の依存ステージがトリガーされる場合があります。 このインタフェースで定義される機能は、少数の基本形式しか取りませんが、それらがより大規模なメソッドのセットに展開することで、一定範囲の使用スタイルに対応します。- ステージによって実行される計算は、引数を必要とするか、結果を生成するか、あるいはその両方かに応じて、Function、ConsumerまたはRunnableとして(それぞれapply、acceptまたはrunを含む名前を持つメソッドを使用して)表されます。 次に例を示します。
stage.thenApply(x -> square(x)) .thenAccept(x -> System.out.print(x)) .thenRun(() -> System.out.println());
ステージ計算の引数は、トリガー・ステージ計算の結果です。
- あるステージの実行は、1つのステージの完了、2つのステージの両方の完了または2つのステージのどちらかの完了によってトリガーされます。 1つのステージへの依存関係は、接頭辞thenを持つメソッドを使用して配置されます。 2つのステージの両方の完了によってトリガーされたステージでは、対応する名前を持つメソッドを使用して、それらの結果または効果を結合できます。 2つのステージのどちらかによってトリガーされたステージでは、どちらの結果または効果が依存ステージの計算に使用されるかに関して何も保証されません。
- ステージ間の依存関係によって計算のトリガーは制御されますが、それ以外については特定の順序は保証されません。 また、新しいステージの計算の実行は、デフォルトの実行、デフォルトの非同期実行(ステージのデフォルトの非同期実行機能を使用する接尾辞asyncを持つメソッドを使用)、カスタム(指定された
Executor
を使用)の3つの方法のいずれかで配置されます。 デフォルトおよび非同期モードの実行プロパティは、このインタフェースではなく、CompletionStageの実装で指定されます。 明示的なExecutor引数を持つメソッドは、任意の実行プロパティを持っている場合や、同時実行をサポートしない場合もありますが、非同期性に対応する方法で処理が配置されます。 - 2つのメソッド形式(
handle
とwhenComplete
)は、トリガー・ステージが正常に完了したか例外的に完了したかを無条件での計算にサポートします。 メソッドexceptionally
は、トリガー・ステージが例外的に完了し、javacatch
キーワードと同様に置換結果を計算する場合にのみ、計算をサポートします。 他のすべてのケースでは、ステージの計算が(非チェック)例外またはエラーで異常終了した場合、その完了を必要とするすべての依存ステージは、その例外を原因として保持する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
-
-
メソッドのサマリー
修飾子と型 メソッド 説明 CompletionStage<Void>
acceptEither(CompletionStage<? extends T> other, Consumer<? super T> action)
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定して実行される新しいCompletionStageを返します。CompletionStage<Void>
acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action)
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。CompletionStage<Void>
acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor)
指定されたステージが正常に完了したときに、指定されたステージのいずれかが正常に完了したときに、指定されたエグゼキュータを使用して実行され、対応する結果が指定されたアクションの引数として返される新しいCompletionStageを返します。<U> CompletionStage<U>
applyToEither(CompletionStage<? extends T> other, Function<? super T,U> fn)
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定して実行される新しいCompletionStageを返します。<U> CompletionStage<U>
applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T,U> fn)
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。<U> CompletionStage<U>
applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T,U> fn, Executor executor)
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。CompletionStage<T>
exceptionally(Function<Throwable,? extends T> fn)
このステージが例外で完了したときに、このステージの例外を指定された関数への引数に設定して実行される新しいCompletionStageを返します。default CompletionStage<T>
exceptionallyAsync(Function<Throwable,? extends T> fn)
新しいCompletionStageを返します。このステージが例外的に完了すると、この段階でデフォルトの非同期実行機能を使用し、指定された関数の引数としてこの段階例外で実行されます。default CompletionStage<T>
exceptionallyAsync(Function<Throwable,? extends T> fn, Executor executor)
このステージが例外的に完了すると、指定されたエグゼキュータを使用して、指定された関数の引数としてこのステージ例外で実行される新しいCompletionStageを返します。default CompletionStage<T>
exceptionallyCompose(Function<Throwable,? extends CompletionStage<T>> fn)
このステージが異常終了したときに、このステージ例外に適用された提供された関数の結果を使用して構成された、新しいCompletionStageを返します。default CompletionStage<T>
exceptionallyComposeAsync(Function<Throwable,? extends CompletionStage<T>> fn)
このステージが異常終了したときに、このステージのデフォルトの非同期実行機能を使用して、このステージ例外に適用された提供関数の結果を使用して構成された新しいCompletionStageを返します。default CompletionStage<T>
exceptionallyComposeAsync(Function<Throwable,? extends CompletionStage<T>> fn, Executor executor)
新しいCompletionStageを返します。このステージが例外的に完了すると、指定されたエグゼキュータを使用して、このステージ例外に適用された指定関数の結果を使用して構成されます。<U> CompletionStage<U>
handle(BiFunction<? super T,Throwable,? extends U> fn)
このステージが正常終了または異常終了した際に実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。<U> CompletionStage<U>
handleAsync(BiFunction<? super T,Throwable,? extends U> fn)
このステージが正常終了または異常終了した際にこのステージのデフォルト非同期実行機能を使って実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。<U> CompletionStage<U>
handleAsync(BiFunction<? super T,Throwable,? extends U> fn, Executor executor)
このステージが正常終了または異常終了した際に指定されたエグゼキュータを使って実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。CompletionStage<Void>
runAfterBoth(CompletionStage<?> other, Runnable action)
このステージと指定された他のステージの両方が正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。CompletionStage<Void>
runAfterBothAsync(CompletionStage<?> other, Runnable action)
これと他のステージが両方とも正常に完了したときに、このステージのデフォルトの非同期実行機能を使用して、指定されたアクションを実行する新しいCompletionStageを返します。CompletionStage<Void>
runAfterBothAsync(CompletionStage<?> other, Runnable action, Executor executor)
これと他のステージが両方とも正常に完了した場合に、指定されたアクションを指定されたエグゼキュータを使用して実行する新しいCompletionStageを返します。CompletionStage<Void>
runAfterEither(CompletionStage<?> other, Runnable action)
このステージと指定された他のステージのどちらかが正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。CompletionStage<Void>
runAfterEitherAsync(CompletionStage<?> other, Runnable action)
このステージと指定された他のステージのどちらかが正常に完了したときにこのステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。CompletionStage<Void>
runAfterEitherAsync(CompletionStage<?> other, Runnable action, Executor executor)
このステージと指定された他のステージのどちらかが正常に完了したときに指定されたエグゼキュータを使用して指定されたアクションを実行する新しいCompletionStageを返します。CompletionStage<Void>
thenAccept(Consumer<? super T> action)
このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定して実行される新しいCompletionStageを返します。CompletionStage<Void>
thenAcceptAsync(Consumer<? super T> action)
このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。CompletionStage<Void>
thenAcceptAsync(Consumer<? super T> action, Executor executor)
このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。<U> CompletionStage<Void>
thenAcceptBoth(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)
このステージと指定された他のステージの両方が正常終了した際に実行される新しいCompletionStageを返します(実行時には、指定されたアクションの引数として2つの結果が使用される)。<U> CompletionStage<Void>
thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)
これと他のステージが両方とも正常に完了したときに、このステージのデフォルトの非同期実行ファシリティを使用して実行され、2つの結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。<U> CompletionStage<Void>
thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action, Executor executor)
これと他のステージが両方とも正常に完了したときに、指定されたエグゼキュータを使用して実行され、2つの結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。<U> CompletionStage<U>
thenApply(Function<? super T,? extends U> fn)
このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定して実行される新しいCompletionStageを返します。<U> CompletionStage<U>
thenApplyAsync(Function<? super T,? extends U> fn)
このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。<U> CompletionStage<U>
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つの結果を指定して、指定されたexecutorを使用して実行される新しいCompletionStageを返します。<U> CompletionStage<U>
thenCompose(Function<? super T,? extends CompletionStage<U>> fn)
指定された関数から返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。<U> CompletionStage<U>
thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn)
このステージのデフォルトの非同期実行機能を使用して実行された、指定された関数から返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。<U> CompletionStage<U>
thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn, Executor executor)
指定されたExecutorによって返されたCompletionStageと同じ値で完了し、指定されたExecutorを使用して実行される新しいCompletionStageを返します。CompletionStage<Void>
thenRun(Runnable action)
このステージが正常に完了したときに、指定されたアクションを実行する新しいCompletionStageを返します。CompletionStage<Void>
thenRunAsync(Runnable action)
このステージが正常に完了したときに、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。CompletionStage<Void>
thenRunAsync(Runnable action, Executor executor)
このステージが正常に完了したときに指定されたExecutorを使用して指定されたアクションを実行する新しいCompletionStageを返します。CompletableFuture<T>
toCompletableFuture()
このステージと同じ完了プロパティを保持するCompletableFuture
を返します。CompletionStage<T>
whenComplete(BiConsumer<? super T,? super Throwable> action)
このステージが完了したときに指定されたアクションを実行するこのステージと同じ結果または例外を使用して新しいCompletionStageを返します。CompletionStage<T>
whenCompleteAsync(BiConsumer<? super T,? super Throwable> action)
このステージが完了したときに、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行するこのステージと同じ結果または例外を使用して新しいCompletionStageを返します。CompletionStage<T>
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
- 他のCompletionStagefn
- 返される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
- 他のCompletionStagefn
- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
thenCombineAsync
<U,V> CompletionStage<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn, Executor executor)
これと他のステージが両方とも正常に完了したときに、指定された関数の引数として2つの結果を指定して、指定されたexecutorを使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 型パラメータ:
U
- 他のCompletionStageの結果の型V
- 関数の戻り値の型- パラメータ:
other
- 他のCompletionStagefn
- 返されるCompletionStageの値を計算するために使用される関数executor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
thenAcceptBoth
<U> CompletionStage<Void> thenAcceptBoth(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)
このステージと指定された他のステージの両方が正常終了した際に実行される新しいCompletionStageを返します(実行時には、指定されたアクションの引数として2つの結果が使用される)。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 型パラメータ:
U
- 他のCompletionStageの結果の型- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
thenAcceptBothAsync
<U> CompletionStage<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)
これと他のステージが両方とも正常に完了したときに、このステージのデフォルトの非同期実行ファシリティを使用して実行され、2つの結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 型パラメータ:
U
- 他のCompletionStageの結果の型- パラメータ:
other
- 他のCompletionStageaction
- 返される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
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクションexecutor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
runAfterBoth
CompletionStage<Void> runAfterBoth(CompletionStage<?> other, Runnable action)
このステージと指定された他のステージの両方が正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
runAfterBothAsync
CompletionStage<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action)
これと他のステージが両方とも正常に完了したときに、このステージのデフォルトの非同期実行機能を使用して、指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
runAfterBothAsync
CompletionStage<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action, Executor executor)
これと他のステージが両方とも正常に完了した場合に、指定されたアクションを指定されたエグゼキュータを使用して実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクションexecutor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
applyToEither
<U> CompletionStage<U> applyToEither(CompletionStage<? extends T> other, Function<? super T,U> fn)
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 型パラメータ:
U
- 関数の戻り値の型- パラメータ:
other
- 他のCompletionStagefn
- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
applyToEitherAsync
<U> CompletionStage<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T,U> fn)
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 型パラメータ:
U
- 関数の戻り値の型- パラメータ:
other
- 他のCompletionStagefn
- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
applyToEitherAsync
<U> CompletionStage<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T,U> fn, Executor executor)
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 型パラメータ:
U
- 関数の戻り値の型- パラメータ:
other
- 他のCompletionStagefn
- 返されるCompletionStageの値を計算するために使用される関数executor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
acceptEither
CompletionStage<Void> acceptEither(CompletionStage<? extends T> other, Consumer<? super T> action)
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
acceptEitherAsync
CompletionStage<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action)
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
acceptEitherAsync
CompletionStage<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor)
指定されたステージが正常に完了したときに、指定されたステージのいずれかが正常に完了したときに、指定されたエグゼキュータを使用して実行され、対応する結果が指定されたアクションの引数として返される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクションexecutor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
runAfterEither
CompletionStage<Void> runAfterEither(CompletionStage<?> other, Runnable action)
このステージと指定された他のステージのどちらかが正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
runAfterEitherAsync
CompletionStage<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action)
このステージと指定された他のステージのどちらかが正常に完了したときにこのステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
runAfterEitherAsync
CompletionStage<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action, Executor executor)
このステージと指定された他のステージのどちらかが正常に完了したときに指定されたエグゼキュータを使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- パラメータ:
other
- 他のCompletionStageaction
- 返される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)
指定されたExecutorによって返されたCompletionStageと同じ値で完了し、指定されたExecutorを使用して実行される新しい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
-
-