インタフェースCompletionStage<T>
- 型パラメータ:
T- ステージが生成または消費する値のタイプ
- 既知のすべての実装クラス:
CompletableFuture
- ステージによって実行される計算は、引数を必要とするか、結果を生成するか、あるいはその両方かに応じて、Function、ConsumerまたはRunnableとして(それぞれapply、acceptまたはrunを含む名前を持つメソッドを使用して)表されます。 たとえば、
追加の形式(compose)を使用すると、完了ステージを返す関数から計算パイプラインを構築できます。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引数を持つメソッドは、任意の実行プロパティを持っている場合や、同時実行をサポートしない場合もありますが、非同期性に対応する方法で処理が配置されます。 - トリガー・ステージが正常に完了したか、例外的に完了したかに関係なく、(
handleとwhenComplete)形式の2つのメソッドで無条件計算がサポートされます。 メソッドexceptionallyは、トリガー・ステージが例外的に完了し、javacatchキーワードと同様に置換結果を計算する場合にのみ、計算をサポートします。 他のすべてのケースで、ステージの計算が(選択を解除しました)例外またはエラーで突然終了した場合、その完了を必要とするすべての依存ステージも例外的に完了し、CompletionExceptionはその例外の原因として保持します。 この規則は、アクション自体の例外とそれが依存する例外を区別します。 同じ方法で処理する場合は、かわりにRuntimeExceptionを捕捉します(例外のgetCause()を調べる場合があります)。 ステージが2つのステージの両方に依存しており、両方が例外で完了した場合、CompletionExceptionはそれらの例外のどちらか1つに対応できます。 ステージが2つのステージのどちらかに依存しており、どちらか1つのみが例外で完了した場合は、依存ステージが正常に完了するか例外で完了するかに関して何も保証されません。 メソッドwhenCompleteの場合、指定されたアクション自体で例外が発生すると、ソース・ステージも例外的に完了しないかぎり、ステージはその例外で例外的に完了します。その場合、ソース・ステージからの例外的な完了が優先され、依存ステージに伝播されます。 アプリケーションでは、throw (ex instanceof CompletionException) ? ex : new CompletionException(ex)のように、再スロー時に不要なネストを回避するために、これらの規則を維持することをお薦めします。
すべてのメソッドは、前述のトリガー、実行および例外完了の仕様に準拠します(これについては、各メソッドの仕様では繰り返し言及しません)。 また、完了の結果を受け入れるメソッドに結果を渡すために使用する(つまり、型Tのパラメータ用の)引数をnullにすることはできますが、他のパラメータにnull値を渡すとNullPointerExceptionがスローされます。
メソッド形式handleは、継続ステージを作成し、トリガーするCompletionStageの結果と例外の(もしあれば)の両方を与え、任意の結果を計算する、無条件に計算を実行する最も一般的な方法です。 メソッドwhenCompleteは似ていますが、新しいメソッドを計算するのではなく、トリガー・ステージの結果を保持します。 ステージの通常の結果はnullになる可能性があるため、どちらのメソッドも計算構造化する必要があります:
(result, exception) -> {
if (exception == null) {
// triggering stage completed normally
} else {
// triggering stage completed exceptionally
}
}
CompletionStageインタフェースは、初期作成、通常または例外的に強制的に完了、完了ステータスまたは結果のプローブ、またはステージの完了を待機するメソッドを定義しません。 必要に応じて、CompletionStageを実装することで、このような効果を実現する手段を提供できます。 toCompletableFuture()メソッドは、共通の変換型を提供することにより、このインタフェースの異なる実装間の相互運用を可能にします。
メモリー整合性効果: 計算が発行される前のスレッド内のアクションで、計算が開始される前に発生するCompletionStageが生成されます。 また、xの完了後に依存ステージの前に発生するアクション CompletionStage xによって実行されるアクション。
- 導入されたバージョン:
- 1.8
-
メソッドのサマリー
修飾子と型メソッド説明acceptEither(CompletionStage<? extends T> other, Consumer<? super T> action) thisまたは他の指定されたステージが正常に完了したときに、対応する結果とともに指定されたアクションの引数として実行される新しいCompletionStageを返します。acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action) thisまたは他の指定されたステージが正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。対応する結果は、指定されたアクションの引数になります。acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor) thisまたは指定された他のステージが正常に完了したときに、指定されたエグゼキュータを使用して、対応する結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。<U> CompletionStage<U> applyToEither(CompletionStage<? extends T> other, Function<? super T, U> fn) thisまたは指定された他のステージが正常に完了したときに、指定された関数の引数として対応する結果とともに実行される新しいCompletionStageを返します。<U> CompletionStage<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T, U> fn) thisまたは他の指定されたステージが正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。対応する結果は、指定された関数の引数になります。<U> CompletionStage<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T, U> fn, Executor executor) thisまたは指定された他のステージが正常に完了したときに、指定されたエグゼキュータを使用して、対応する結果が指定された関数の引数として実行される新しいCompletionStageを返します。exceptionally(Function<Throwable, ? extends T> fn) thisステージが例外的に完了したときに、指定された関数の引数としてthisステージの例外とともに実行される新しいCompletionStageを返します。default CompletionStage<T> exceptionallyAsync(Function<Throwable, ? extends T> fn) thisステージが例外的に完了したときに、thisステージのデフォルトの非同期実行機能を使用して、指定された関数の引数としてthisステージの例外とともに実行される新しいCompletionStageを返します。default CompletionStage<T> exceptionallyAsync(Function<Throwable, ? extends T> fn, Executor executor) thisステージが例外的に完了したときに、指定されたエグゼキュータを使用して、指定された関数の引数としてthisステージの例外とともに実行される新しいCompletionStageを返します。default CompletionStage<T> exceptionallyCompose(Function<Throwable, ? extends CompletionStage<T>> fn) thisステージが例外的に完了したときに、thisステージの例外に適用される指定された関数の結果を使用して構成される新しいCompletionStageを返します。default CompletionStage<T> exceptionallyComposeAsync(Function<Throwable, ? extends CompletionStage<T>> fn) thisステージが例外的に完了したときに、thisステージのデフォルトの非同期実行機能を使用して、thisステージの例外に適用される指定された関数の結果を使用して構成される新しいCompletionStageを返します。default CompletionStage<T> exceptionallyComposeAsync(Function<Throwable, ? extends CompletionStage<T>> fn, Executor executor) thisステージが例外的に完了したときに、指定されたエグゼキュータを使用して、thisステージの例外に適用された指定された関数の結果を使用して構成される新しいCompletionStageを返します。<U> CompletionStage<U> handle(BiFunction<? super T, Throwable, ? extends U> fn) thisステージが正常にまたは例外的に完了したときに、指定された関数の引数としてthisステージの結果および例外とともに実行される新しいCompletionStageを返します。<U> CompletionStage<U> handleAsync(BiFunction<? super T, Throwable, ? extends U> fn) thisステージが正常にまたは例外的に完了したときに、thisステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。thisステージの結果と、指定された関数の引数としての例外があります。<U> CompletionStage<U> handleAsync(BiFunction<? super T, Throwable, ? extends U> fn, Executor executor) thisステージが正常にまたは例外的に完了したときに、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。thisステージの結果と例外は、指定された関数の引数です。runAfterBoth(CompletionStage<?> other, Runnable action) thisおよび他の指定されたステージが両方とも正常に完了したときに、指定されたアクションを実行する新しいCompletionStageを返します。runAfterBothAsync(CompletionStage<?> other, Runnable action) thisおよび他の指定されたステージが正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。runAfterBothAsync(CompletionStage<?> other, Runnable action, Executor executor) thisおよび他の指定されたステージが両方とも正常に完了したときに、指定されたエグゼキュータを使用して指定されたアクションを実行する新しいCompletionStageを返します。runAfterEither(CompletionStage<?> other, Runnable action) thisまたは指定された他のステージが正常に完了したときに、指定されたアクションを実行する新しいCompletionStageを返します。runAfterEitherAsync(CompletionStage<?> other, Runnable action) thisまたは他の指定されたステージが正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。runAfterEitherAsync(CompletionStage<?> other, Runnable action, Executor executor) thisまたは指定された他のステージが正常に完了したときに、指定されたエグゼキュータを使用して指定されたアクションを実行する新しいCompletionStageを返します。thenAccept(Consumer<? super T> action) thisステージが正常に完了したときに、指定されたアクションの引数としてthisステージの結果を使用して実行される新しいCompletionStageを返します。thenAcceptAsync(Consumer<? super T> action) thisステージが正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。thisステージの結果は、指定されたアクションの引数です。thenAcceptAsync(Consumer<? super T> action, Executor executor) thisステージが正常に完了したときに、指定されたエグゼキュータを使用してthisステージの結果を指定されたアクションの引数として実行する新しいCompletionStageを返します。<U> CompletionStage<Void> thenAcceptBoth(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action) thisおよび他の指定されたステージが両方とも正常に完了したときに、指定されたアクションの引数として2つの結果とともに実行される新しいCompletionStageを返します。<U> CompletionStage<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action) thisと他の指定されたステージの両方が正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して実行され、2つの結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。<U> CompletionStage<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action, Executor executor) thisおよび他の指定されたステージが両方とも正常に完了したときに、指定されたエグゼキュータを使用して実行され、2つの結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。<U> CompletionStage<U> thisステージが正常に完了したときに、指定された関数の引数としてthisステージの結果を使用して実行される新しいCompletionStageを返します。<U> CompletionStage<U> thenApplyAsync(Function<? super T, ? extends U> fn) thisステージが正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。thisステージの結果は、指定された関数の引数です。<U> CompletionStage<U> thenApplyAsync(Function<? super T, ? extends U> fn, Executor executor) thisステージが正常に完了したときに、指定されたエグゼキュータを使用して実行され、thisステージの結果が指定された関数の引数として実行される新しいCompletionStageを返します。<U,V> CompletionStage <V> thenCombine(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn) thisと他の指定されたステージの両方が正常に完了したときに、指定された関数の引数として2つの結果とともに実行される新しいCompletionStageを返します。<U,V> CompletionStage <V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn) thisおよび他の指定されたステージが両方とも正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。この2つの結果は、指定された関数の引数です。<U,V> CompletionStage <V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn, Executor executor) thisおよび他の指定されたステージが両方とも正常に完了したときに、指定されたエグゼキュータを使用して実行され、2つの結果が指定された関数の引数として実行される新しい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を返します。これは、thisステージのデフォルトの非同期実行機能を使用して実行されます。<U> CompletionStage<U> thenComposeAsync(Function<? super T, ? extends CompletionStage<U>> fn, Executor executor) 指定されたエグゼキュータを使用して実行される、指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。thisステージが正常に完了したときに、指定されたアクションを実行する新しいCompletionStageを返します。thenRunAsync(Runnable action) thisステージが正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。thenRunAsync(Runnable action, Executor executor) thisステージが正常に完了したときに、指定されたエグゼキュータを使用して指定されたアクションを実行する新しいCompletionStageを返します。thisステージと同じ完了プロパティを保持するCompletableFutureを返します。whenComplete(BiConsumer<? super T, ? super Throwable> action) thisステージが完了したときに特定のアクションを実行する、thisステージと同じ結果または例外を持つ新しいCompletionStageを返します。whenCompleteAsync(BiConsumer<? super T, ? super Throwable> action) thisステージが完了したときに、thisステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する、thisステージと同じ結果または例外を持つ新しいCompletionStageを返します。whenCompleteAsync(BiConsumer<? super T, ? super Throwable> action, Executor executor) thisステージが完了したときに、指定されたエグゼキュータを使用して指定されたアクションを実行する、thisステージと同じ結果または例外を持つ新しいCompletionStageを返します。
-
メソッドの詳細
-
thenApply
<U> CompletionStage<U> thenApply(Function<? super T, ? extends U> fn) thisステージが正常に完了したときに、指定された関数の引数としてthisステージの結果を使用して実行される新しいCompletionStageを返します。このメソッドは、
Optional.mapおよびStream.mapに似ています。例外の完了に適用されるルールの詳細は、
CompletionStageのドキュメントを参照してください。- 型パラメータ:
U- 関数の戻り型- パラメータ:
fn- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
thenApplyAsync
<U> CompletionStage<U> thenApplyAsync(Function<? super T, ? extends U> fn) thisステージが正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。thisステージの結果は、指定された関数の引数です。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- 型パラメータ:
U- 関数の戻り型- パラメータ:
fn- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
thenApplyAsync
<U> CompletionStage<U> thenApplyAsync(Function<? super T, ? extends U> fn, Executor executor) thisステージが正常に完了したときに、指定されたエグゼキュータを使用して実行され、thisステージの結果が指定された関数の引数として実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- 型パラメータ:
U- 関数の戻り型- パラメータ:
fn- 返されるCompletionStageの値を計算するために使用される関数executor- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
thenAccept
CompletionStage<Void> thenAccept(Consumer<? super T> action) thisステージが正常に完了したときに、指定されたアクションの引数としてthisステージの結果を使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
action- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
thenAcceptAsync
CompletionStage<Void> thenAcceptAsync(Consumer<? super T> action) thisステージが正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。thisステージの結果は、指定されたアクションの引数です。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
action- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
thenAcceptAsync
CompletionStage<Void> thenAcceptAsync(Consumer<? super T> action, Executor executor) thisステージが正常に完了したときに、指定されたエグゼキュータを使用してthisステージの結果を指定されたアクションの引数として実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
action- 返されるCompletionStageを完了する前に実行するアクションexecutor- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
thenRun
CompletionStage<Void> thenRun(Runnable action) thisステージが正常に完了したときに、指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
action- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
thenRunAsync
CompletionStage<Void> thenRunAsync(Runnable action) thisステージが正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
action- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
thenRunAsync
CompletionStage<Void> thenRunAsync(Runnable action, Executor executor) thisステージが正常に完了したときに、指定されたエグゼキュータを使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
action- 返されるCompletionStageを完了する前に実行するアクションexecutor- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
thenCombine
<U,V> CompletionStage<V> thenCombine(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn) thisと他の指定されたステージの両方が正常に完了したときに、指定された関数の引数として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) thisおよび他の指定されたステージが両方とも正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して実行される新しい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, Executor executor) thisおよび他の指定されたステージが両方とも正常に完了したときに、指定されたエグゼキュータを使用して実行され、2つの結果が指定された関数の引数として実行される新しい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) thisおよび他の指定されたステージが両方とも正常に完了したときに、指定されたアクションの引数として2つの結果とともに実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- 型パラメータ:
U- 他のCompletionStageの結果のタイプ- パラメータ:
other- 他のCompletionStageaction- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
thenAcceptBothAsync
<U> CompletionStage<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action) thisと他の指定されたステージの両方が正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して実行され、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) thisおよび他の指定されたステージが両方とも正常に完了したときに、指定されたエグゼキュータを使用して実行され、2つの結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- 型パラメータ:
U- 他のCompletionStageの結果のタイプ- パラメータ:
other- 他のCompletionStageaction- 返されるCompletionStageを完了する前に実行するアクションexecutor- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
runAfterBoth
CompletionStage<Void> runAfterBoth(CompletionStage<?> other, Runnable action) thisおよび他の指定されたステージが両方とも正常に完了したときに、指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
other- 他のCompletionStageaction- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
runAfterBothAsync
CompletionStage<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action) thisおよび他の指定されたステージが正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
other- 他のCompletionStageaction- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
runAfterBothAsync
CompletionStage<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action, Executor executor) thisおよび他の指定されたステージが両方とも正常に完了したときに、指定されたエグゼキュータを使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
other- 他のCompletionStageaction- 返されるCompletionStageを完了する前に実行するアクションexecutor- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
applyToEither
<U> CompletionStage<U> applyToEither(CompletionStage<? extends T> other, Function<? super T, U> fn) thisまたは指定された他のステージが正常に完了したときに、指定された関数の引数として対応する結果とともに実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- 型パラメータ:
U- 関数の戻り型- パラメータ:
other- 他のCompletionStagefn- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
applyToEitherAsync
<U> CompletionStage<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T, U> fn) thisまたは他の指定されたステージが正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。対応する結果は、指定された関数の引数になります。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- 型パラメータ:
U- 関数の戻り型- パラメータ:
other- 他のCompletionStagefn- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
applyToEitherAsync
<U> CompletionStage<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T, U> fn, Executor executor) thisまたは指定された他のステージが正常に完了したときに、指定されたエグゼキュータを使用して、対応する結果が指定された関数の引数として実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- 型パラメータ:
U- 関数の戻り型- パラメータ:
other- 他のCompletionStagefn- 返されるCompletionStageの値を計算するために使用される関数executor- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
acceptEither
CompletionStage<Void> acceptEither(CompletionStage<? extends T> other, Consumer<? super T> action) thisまたは他の指定されたステージが正常に完了したときに、対応する結果とともに指定されたアクションの引数として実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
other- 他のCompletionStageaction- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
acceptEitherAsync
CompletionStage<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action) thisまたは他の指定されたステージが正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。対応する結果は、指定されたアクションの引数になります。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
other- 他のCompletionStageaction- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
acceptEitherAsync
CompletionStage<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor) thisまたは指定された他のステージが正常に完了したときに、指定されたエグゼキュータを使用して、対応する結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
other- 他のCompletionStageaction- 返されるCompletionStageを完了する前に実行するアクションexecutor- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
runAfterEither
CompletionStage<Void> runAfterEither(CompletionStage<?> other, Runnable action) thisまたは指定された他のステージが正常に完了したときに、指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
other- 他のCompletionStageaction- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
runAfterEitherAsync
CompletionStage<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action) thisまたは他の指定されたステージが正常に完了したときに、thisステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
other- 他のCompletionStageaction- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
runAfterEitherAsync
CompletionStage<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action, Executor executor) thisまたは指定された他のステージが正常に完了したときに、指定されたエグゼキュータを使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStageのドキュメントを参照してください。- パラメータ:
other- 他のCompletionStageaction- 返されるCompletionStageを完了する前に実行するアクションexecutor- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
thenCompose
<U> CompletionStage<U> thenCompose(Function<? super T, ? extends CompletionStage<U>> fn) 指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。thisステージが正常に完了すると、指定された関数が引数としてthisステージの結果とともに呼び出され、別の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を返します。これは、thisステージのデフォルトの非同期実行機能を使用して実行されます。thisステージが正常に完了すると、指定された関数が引数としてthisステージの結果とともに呼び出され、別のCompletionStageが返されます。 そのステージが正常に完了すると、返されたCompletionStageは同じ値で完了します。進行を確実にするには、指定された関数が結果の最終的な完了を整理する必要があります。
例外の完了に適用されるルールの詳細は、
CompletionStageのドキュメントを参照してください。- 型パラメータ:
U- 返されたCompletionStageの結果のタイプ- パラメータ:
fn- 別のCompletionStageのコンピュートに使用する関数- 戻り値:
- 新しいCompletionStage
-
thenComposeAsync
<U> CompletionStage<U> thenComposeAsync(Function<? super T, ? extends CompletionStage<U>> fn, Executor executor) 指定されたエグゼキュータを使用して実行される、指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。thisステージが正常に完了すると、指定された関数が引数としてthisステージの結果とともに呼び出され、別のCompletionStageが返されます。 そのステージが正常に完了すると、thisメソッドによって返されたCompletionStageが同じ値で完了します。進行を確実にするには、指定された関数が結果の最終的な完了を整理する必要があります。
例外の完了に適用されるルールの詳細は、
CompletionStageのドキュメントを参照してください。- 型パラメータ:
U- 返されたCompletionStageの結果のタイプ- パラメータ:
fn- 別のCompletionStageのコンピュートに使用する関数executor- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
handle
<U> CompletionStage<U> handle(BiFunction<? super T, Throwable, ? extends U> fn) thisステージが正常にまたは例外的に完了したときに、指定された関数の引数としてthisステージの結果および例外とともに実行される新しいCompletionStageを返します。thisステージが完了すると、指定された関数が結果(または何もない場合はnull)とともに呼び出され、thisステージの例外(ない場合はnull)が引数として呼び出され、関数の結果を使用して戻されたステージが完了します。- 型パラメータ:
U- 関数の戻り型- パラメータ:
fn- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
handleAsync
<U> CompletionStage<U> handleAsync(BiFunction<? super T, Throwable, ? extends U> fn) thisステージが正常にまたは例外的に完了したときに、thisステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。thisステージの結果と、指定された関数の引数としての例外があります。thisステージが完了すると、指定された関数が結果(または何もない場合はnull)とともに呼び出され、thisステージの例外(ない場合はnull)が引数として呼び出され、関数の結果を使用して戻されたステージが完了します。- 型パラメータ:
U- 関数の戻り型- パラメータ:
fn- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
handleAsync
<U> CompletionStage<U> handleAsync(BiFunction<? super T, Throwable, ? extends U> fn, Executor executor) thisステージが正常にまたは例外的に完了したときに、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。thisステージの結果と例外は、指定された関数の引数です。thisステージが完了すると、指定された関数が結果(または何もない場合はnull)とともに呼び出され、thisステージの例外(ない場合はnull)が引数として呼び出され、関数の結果を使用して戻されたステージが完了します。- 型パラメータ:
U- 関数の戻り型- パラメータ:
fn- 返されるCompletionStageの値を計算するために使用される関数executor- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
whenComplete
CompletionStage<T> whenComplete(BiConsumer<? super T, ? super Throwable> action) thisステージが完了したときに特定のアクションを実行する、thisステージと同じ結果または例外を持つ新しいCompletionStageを返します。thisステージが完了すると、指定されたアクションが引数としてthisステージの結果(または何もない場合はnull)および例外(ない場合はnull)とともに呼び出されます。 アクションが返されたときに、返されたステージが完了します。メソッド
handleとは異なり、メソッドwhenCompleteは完了結果を変換するように設計されていないため、指定されたアクションは例外をスローしません。 ただし、その場合、次のルールが適用されます。thisステージが正常に完了したが、指定されたアクションで例外がスローされた場合、返されたステージは、指定されたアクションの例外で例外的に完了します。 または、thisステージが例外的に完了し、指定されたアクションが例外をスローした場合、返されたステージはthisステージの例外とともに例外的に完了します。- パラメータ:
action- 実行するアクション- 戻り値:
- 新しいCompletionStage
-
whenCompleteAsync
CompletionStage<T> whenCompleteAsync(BiConsumer<? super T, ? super Throwable> action) thisステージが完了したときに、thisステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する、thisステージと同じ結果または例外を持つ新しいCompletionStageを返します。thisステージが完了すると、指定されたアクションが引数としてthisステージの結果(または何もない場合はnull)および例外(ない場合はnull)とともに呼び出されます。 アクションが返されたときに、返されたステージが完了します。メソッド
handleAsyncとは異なり、メソッドwhenCompleteAsyncは完了結果を変換するように設計されていないため、指定されたアクションは例外をスローしません。 ただし、実行する場合は、次のルールが適用されます。thisステージが正常に完了したが、指定されたアクションで例外がスローされた場合、返されたステージは、指定されたアクションの例外とともに例外的に完了します。 または、thisステージが例外的に完了し、指定されたアクションが例外をスローした場合、返されたステージはthisステージの例外とともに例外的に完了します。- パラメータ:
action- 実行するアクション- 戻り値:
- 新しいCompletionStage
-
whenCompleteAsync
CompletionStage<T> whenCompleteAsync(BiConsumer<? super T, ? super Throwable> action, Executor executor) thisステージが完了したときに、指定されたエグゼキュータを使用して指定されたアクションを実行する、thisステージと同じ結果または例外を持つ新しいCompletionStageを返します。thisステージが完了すると、指定されたアクションが引数としてthisステージの結果(または何もない場合はnull)および例外(ない場合はnull)とともに呼び出されます。 アクションが返されたときに、返されたステージが完了します。メソッド
handleAsyncとは異なり、メソッドwhenCompleteAsyncは完了結果を変換するように設計されていないため、指定されたアクションは例外をスローしません。 ただし、実行する場合は、次のルールが適用されます。thisステージが正常に完了したが、指定されたアクションで例外がスローされた場合、返されたステージは、指定されたアクションの例外とともに例外的に完了します。 または、thisステージが例外的に完了し、指定されたアクションが例外をスローした場合、返されたステージはthisステージの例外とともに例外的に完了します。- パラメータ:
action- 実行するアクションexecutor- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
exceptionally
CompletionStage<T> exceptionally(Function<Throwable, ? extends T> fn) thisステージが例外的に完了したときに、指定された関数の引数としてthisステージの例外とともに実行される新しいCompletionStageを返します。 それ以外の場合、thisステージが正常に完了すると、戻されたステージも同じ値で正常に完了します。- パラメータ:
fn-thisCompletionStageが例外的に完了した場合、返されるCompletionStageの値の計算に使用する関数- 戻り値:
- 新しいCompletionStage
-
exceptionallyAsync
default CompletionStage<T> exceptionallyAsync(Function<Throwable, ? extends T> fn) thisステージが例外的に完了したときに、thisステージのデフォルトの非同期実行機能を使用して、指定された関数の引数としてthisステージの例外とともに実行される新しいCompletionStageを返します。 それ以外の場合、thisステージが正常に完了すると、戻されたステージも同じ値で正常に完了します。- 実装要件:
- デフォルトの実装では、
handle(BiFunction)が呼び出され、例外の場合はhandleAsync(BiFunction)にリレーされ、結果の場合はthenCompose(Function)にリレーされます。 - パラメータ:
fn-thisCompletionStageが例外的に完了した場合、返されるCompletionStageの値の計算に使用する関数- 戻り値:
- 新しいCompletionStage
- 導入されたバージョン:
- 12
-
exceptionallyAsync
default CompletionStage<T> exceptionallyAsync(Function<Throwable, ? extends T> fn, Executor executor) thisステージが例外的に完了したときに、指定されたエグゼキュータを使用して、指定された関数の引数としてthisステージの例外とともに実行される新しいCompletionStageを返します。 それ以外の場合、thisステージが正常に完了すると、戻されたステージも同じ値で正常に完了します。- 実装要件:
- デフォルトの実装では、
handle(BiFunction)が呼び出され、例外の場合はhandleAsync(BiFunction)にリレーされ、結果の場合はthenCompose(Function)にリレーされます。 - パラメータ:
fn-thisCompletionStageが例外的に完了した場合、返されるCompletionStageの値の計算に使用する関数executor- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
- 導入されたバージョン:
- 12
-
exceptionallyCompose
default CompletionStage<T> exceptionallyCompose(Function<Throwable, ? extends CompletionStage<T>> fn) thisステージが例外的に完了したときに、thisステージの例外に適用される指定された関数の結果を使用して構成される新しいCompletionStageを返します。- 実装要件:
- デフォルトの実装では、
handle(BiFunction)が呼び出され、例外時に指定された関数が呼び出され、結果としてthenCompose(Function)が呼び出されます。 - パラメータ:
fn-thisCompletionStageが例外的に完了した場合、返されるCompletionStageの計算に使用する関数- 戻り値:
- 新しいCompletionStage
- 導入されたバージョン:
- 12
-
exceptionallyComposeAsync
default CompletionStage<T> exceptionallyComposeAsync(Function<Throwable, ? extends CompletionStage<T>> fn) thisステージが例外的に完了したときに、thisステージのデフォルトの非同期実行機能を使用して、thisステージの例外に適用される指定された関数の結果を使用して構成される新しいCompletionStageを返します。- 実装要件:
- デフォルトの実装では、
handle(BiFunction)が呼び出され、例外の場合はhandleAsync(BiFunction)にリレーされ、結果の場合はthenCompose(Function)にリレーされます。 - パラメータ:
fn-thisCompletionStageが例外的に完了した場合、返されるCompletionStageの計算に使用する関数- 戻り値:
- 新しいCompletionStage
- 導入されたバージョン:
- 12
-
exceptionallyComposeAsync
default CompletionStage<T> exceptionallyComposeAsync(Function<Throwable, ? extends CompletionStage<T>> fn, Executor executor) thisステージが例外的に完了したときに、指定されたエグゼキュータを使用して、thisステージの例外に適用された指定された関数の結果を使用して構成される新しいCompletionStageを返します。- 実装要件:
- デフォルトの実装では、
handle(BiFunction)が呼び出され、例外の場合はhandleAsync(BiFunction)にリレーされ、結果の場合はthenCompose(Function)にリレーされます。 - パラメータ:
fn-thisCompletionStageが例外的に完了した場合、返されるCompletionStageの計算に使用する関数executor- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
- 導入されたバージョン:
- 12
-
toCompletableFuture
CompletableFuture<T> toCompletableFuture()thisステージと同じ完了プロパティを保持するCompletableFutureを返します。thisステージがすでにCompletableFutureである場合、メソッドtoCompletableFutureはthisステージ自体を返すことがあります。 それ以外の場合、呼出しはthenApply(x -> x)と同等ですが、CompletableFuture型のインスタンスを返します。- 戻り値:
- CompletableFuture
-