- 型パラメータ:
T
- この将来のjoin
およびget
メソッドによって返される結果タイプ
- すべての実装されたインタフェース:
CompletionStage<T>
,Future<T>
Future
です。その完了時に発生する依存関数およびアクションをサポートし、CompletionStage
として使用できます。
2つ以上のスレッドがCompletableFutureのcomplete
、completeExceptionally
またはcancel
を試行すると、1つのスレッドのみが成功します。
ステータスと結果を直接操作するこれらのメソッドおよび関連メソッドに加えて、CompletableFutureには次のポリシーを持つインタフェースCompletionStage
が実装されています。
- 非同期でないメソッドの依存する完了のために提供されるアクションは、現在のCompletableFutureを完了するスレッド、または完了メソッドの他の呼出し元で実行できます。
- 明示的なExecutor引数を持たないすべての非同期メソッドは、
ForkJoinPool.commonPool()
を使用して実行されます(ただし、少なくとも2個の並列性レベルがサポートされない場合は、新しいスレッドが作成されてそれぞれのタスクを実行します)。 これは、メソッドdefaultExecutor()
を定義することによって、サブクラス内の非静的メソッドに対してオーバーライドできます。 モニタリング、デバッグおよび追跡を簡単にするため、生成される非同期タスクはすべてマーカー・インタフェースCompletableFuture.AsynchronousCompletionTask
のインスタンスです。 時間遅延のある操作では、このクラスで定義されたアダプタ・メソッドを使用できます。たとえば、:supplyAsync(supplier, delayedExecutor(timeout, timeUnit))
。 遅延およびタイムアウトを伴うメソッドをサポートするために、このクラスは、アクションを実行するのではなく、アクションをトリガーおよび取り消すためのデーモン・スレッドを1つまで保持します。 - CompletionStageのすべてのメソッドは、他のpublicメソッドとは独立して実装されているため、1つのメソッドの動作がサブクラス内の他のメソッドのオーバーライドによって影響されることはありません。
- すべてのCompletionStageメソッドは、CompletableFuturesを返します。 インタフェースCompletionStageで定義されているメソッドのみに使用を制限するには、メソッド
minimalCompletionStage()
を使用します。 または、クライアント自身が将来を変更しないようにするには、メソッドcopy()
を使用します。
CompletableFutureには、次のポリシーを持つFuture
も実装されています。
- (
FutureTask
とは異なり)このクラスは自身を完了させる計算を直接制御できないため、取消しは単に別形式の例外完了として処理されます。cancel
メソッドの効果はcompleteExceptionally(new CancellationException())
と同じです。isCompletedExceptionally()
メソッドは、CompletableFutureが例外で完了したかどうかを判定するために使用できます。 - CompletionExceptionによる例外完了の場合、
get()
およびget(long, TimeUnit)
メソッドは対応するCompletionExceptionと同じ原因でExecutionException
をスローします。 ほとんどのコンテキストで簡単に使用できるように、このクラスにはこれらの場合にCompletionExceptionをかわりに直接スローするjoin()
およびgetNow(T)
メソッドも定義されています。
それらを受け入れるメソッドの完了結果(つまり、T
型のパラメータ用です)を渡すために使用される引数はnullですが、他のパラメータにnull値を渡すと、NullPointerException
がスローされます。
このクラスのサブクラスは、通常、CompletionStageメソッドによって返される具象型を確立する"仮想コンストラクタ"メソッドnewIncompleteFuture()
をオーバーライドする必要があります。 たとえば、別のデフォルト・エグゼキュータを置換し、obtrude
メソッドを無効にするクラスを次に示します:
class MyCompletableFuture<T> extends CompletableFuture<T> {
static final Executor myExecutor = ...;
public MyCompletableFuture() { }
public <U> CompletableFuture<U> newIncompleteFuture() {
return new MyCompletableFuture<U>(); }
public Executor defaultExecutor() {
return myExecutor; }
public void obtrudeValue(T value) {
throw new UnsupportedOperationException(); }
public void obtrudeException(Throwable ex) {
throw new UnsupportedOperationException(); }
}
- 導入されたバージョン:
- 1.8
-
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明static interface
async
メソッドによって生成された非同期タスクを識別するマーカー・インタフェースです。インタフェースjava.util.concurrent.Futureで宣言されたネストされたクラス/インタフェース
Future.State
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明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を返します。static CompletableFuture
<Void> allOf
(CompletableFuture<?>... cfs) 指定されたすべてのCompletableFutureが完了したときに完了する新しいCompletableFutureを返します。static CompletableFuture
<Object> anyOf
(CompletableFuture<?>... cfs) 指定されたいずれかのCompletableFutureが完了したときに同じ結果で完了する新しいCompletableFutureを返します。<U> CompletableFuture
<U> applyToEither
(CompletionStage<? extends T> other, Function<? super T, U> fn) このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定して実行される新しいCompletionStageを返します。<U> CompletableFuture
<U> applyToEitherAsync
(CompletionStage<? extends T> other, Function<? super T, U> fn) このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。<U> CompletableFuture
<U> applyToEitherAsync
(CompletionStage<? extends T> other, Function<? super T, U> fn, Executor executor) このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。boolean
cancel
(boolean mayInterruptIfRunning) まだ完了していない場合は、このCompletableFutureをCancellationException
で完了します。boolean
まだ完了していない場合は、get()
および関連メソッドから返される値を指定された値に設定します。completeAsync
(Supplier<? extends T> supplier) デフォルトのエグゼキュータを使用して非同期タスクから呼び出された特定のSupplier関数の結果を使用して、このCompletableFutureを完了します。completeAsync
(Supplier<? extends T> supplier, Executor executor) 指定されたエグゼキュータを使用して非同期タスクから呼び出された特定のSupplier関数の結果を使用して、このCompletableFutureを完了します。static <U> CompletableFuture
<U> completedFuture
(U value) 指定された値ですでに完了している新しいCompletableFutureを返します。static <U> CompletionStage
<U> completedStage
(U value) 指定された値ですでに完了している新しいCompletionStageを返し、インタフェースCompletionStage
のメソッドのみをサポートします。boolean
まだ完了していない場合は、get()
および関連メソッドを呼び出して、指定された例外をスローします。completeOnTimeout
(T value, long timeout, TimeUnit unit) このCompletableFutureを指定された値で完了します(指定のタイムアウトより前に完了しない場合)。copy()
正常に完了したときに、このCompletableFutureと同じ値で正常に完了する新しいCompletableFutureを返します。エグゼキュータを指定しない非同期メソッドに使用されるデフォルトのエグゼキュータを返します。static Executor
delayedExecutor
(long delay, TimeUnit unit) 指定された遅延(非正の場合は遅延なし)の後にデフォルトのexecutorにタスクをサブミットする新しいExecutorを返します。static Executor
delayedExecutor
(long delay, TimeUnit unit, Executor executor) 指定された遅延(非正の場合は遅延なし)の後に、指定されたベースexecutorにタスクをサブミットする新しいExecutorを返します。exceptionally
(Function<Throwable, ? extends T> fn) このステージが例外で完了したときに、このステージの例外を指定された関数への引数に設定して実行される新しいCompletionStageを返します。static <U> CompletableFuture
<U> 指定された例外で例外的にすでに完了している新しいCompletableFutureを返します。static <U> CompletionStage
<U> failedStage
(Throwable ex) 指定された例外を使って例外的にすでに完了している新しいCompletionStageを返し、インタフェースCompletionStage
のメソッドのみをサポートします。get()
必要な場合はこのフューチャが完了するのを待機し、その結果を返します。必要な場合は指定された時間までこのフューチャが完了するのを待機し、その結果を返します(使用可能な場合)。完了した場合は結果の値(または検出された例外)を返し、それ以外の場合は指定されたvalueIfAbsentを返します。int
自身の完了のためにこのCompletableFutureの完了を待機しているCompletableFutureの推定数を返します。<U> CompletableFuture
<U> handle
(BiFunction<? super T, Throwable, ? extends U> fn) このステージが正常終了または異常終了した際に実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。<U> CompletableFuture
<U> handleAsync
(BiFunction<? super T, Throwable, ? extends U> fn) このステージが正常終了または異常終了した際にこのステージのデフォルト非同期実行機能を使って実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。<U> CompletableFuture
<U> handleAsync
(BiFunction<? super T, Throwable, ? extends U> fn, Executor executor) このステージが正常終了または異常終了した際に指定されたエグゼキュータを使って実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。boolean
このCompletableFutureが正常に完了する前に取り消された場合はtrue
を返します。boolean
このCompletableFutureがなんらかの形で例外で完了した場合はtrue
を返します。boolean
isDone()
なんらかの形で(正常に、例外で、または取消しによって)完了した場合はtrue
を返します。join()
完了した場合は結果値を返します。例外で完了した場合は(非チェック)例外をスローします。正常に完了したときに、このCompletableFutureと同じ値で正常に完了する新しいCompletionStageを返します。この値は、インタフェースCompletionStage
のメソッドで定義されていない方法で個別に完了したり、使用することはできません。<U> CompletableFuture
<U> CompletionStageメソッドによって返される型の新しい不完全なCompletableFutureを返します。void
すでに完了しているかどうかに関係なく、後続のget()
メソッドおよび関連メソッドの呼出しを強制的に行い、指定された例外をスローします。void
obtrudeValue
(T value) すでに完了しているかどうかに関係なく、get()
メソッドおよび関連メソッドからその後返される値を強制的に設定またはリセットします。このCompletableFutureは、指定のタイムアウトより前に完了していない場合は、例外的にTimeoutException
で完了します。runAfterBoth
(CompletionStage<?> other, Runnable action) このステージと指定された他のステージの両方が正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。runAfterBothAsync
(CompletionStage<?> other, Runnable action) このステージと他の指定されたステージの両方が正常に完了すると、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する、新しいCompletionStageを返します。runAfterBothAsync
(CompletionStage<?> other, Runnable action, Executor executor) このステージと他の指定されたステージの両方が正常に完了すると、指定されたエグゼキュータを使用して指定されたアクションを実行する、新しいCompletionStageを返します。runAfterEither
(CompletionStage<?> other, Runnable action) このステージと指定された他のステージのどちらかが正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。runAfterEitherAsync
(CompletionStage<?> other, Runnable action) このステージと指定された他のステージのどちらかが正常に完了したときにこのステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。runAfterEitherAsync
(CompletionStage<?> other, Runnable action, Executor executor) このステージと指定された他のステージのどちらかが正常に完了したときに指定されたエグゼキュータを使用して指定されたアクションを実行する新しいCompletionStageを返します。static CompletableFuture
<Void> ForkJoinPool.commonPool()
で実行されているタスクが指定されたアクションの実行後に非同期に完了する新しいCompletableFutureを返します。static CompletableFuture
<Void> 指定されたexecutorで実行されているタスクが指定されたアクションの実行後に非同期に完了する新しいCompletableFutureを返します。static <U> CompletableFuture
<U> supplyAsync
(Supplier<U> supplier) ForkJoinPool.commonPool()
で実行されているタスクが指定されたサプライヤを呼び出して取得した値を使用して非同期的に完了する新しいCompletableFutureを返します。static <U> CompletableFuture
<U> supplyAsync
(Supplier<U> supplier, Executor executor) 指定されたエグゼキュータで実行されているタスクが指定されたサプライヤを呼び出して取得した値を使用して非同期的に完了する新しいCompletableFutureを返します。thenAccept
(Consumer<? super T> action) このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定して実行される新しいCompletionStageを返します。thenAcceptAsync
(Consumer<? super T> action) このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。thenAcceptAsync
(Consumer<? super T> action, Executor executor) このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。<U> CompletableFuture
<Void> thenAcceptBoth
(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action) このステージと指定された他のステージの両方が正常終了した際に実行される新しいCompletionStageを返します(実行時には、指定されたアクションの引数として2つの結果が使用される)。<U> CompletableFuture
<Void> thenAcceptBothAsync
(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action) このステージと他の指定されたステージの両方が正常に完了すると、このステージのデフォルトの非同期実行機能を使用して実行され、2つの結果が指定されたアクションの引数として使用される、新しいCompletionStageを返します。<U> CompletableFuture
<Void> thenAcceptBothAsync
(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action, Executor executor) このステージと他の指定されたステージの両方が正常に完了すると、指定されたエグゼキュータを使用して実行され、2つの結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。<U> CompletableFuture
<U> このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定して実行される新しいCompletionStageを返します。<U> CompletableFuture
<U> thenApplyAsync
(Function<? super T, ? extends U> fn) このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。<U> CompletableFuture
<U> thenApplyAsync
(Function<? super T, ? extends U> fn, Executor executor) このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。<U,
V> CompletableFuture <V> thenCombine
(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn) このステージと指定された他のステージの両方が正常終了した際に実行される新しいCompletionStageを返します(実行時には、指定された関数の引数として2つの結果が使用される)。<U,
V> CompletableFuture <V> thenCombineAsync
(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn) このステージと他の指定されたステージの両方が正常に完了すると、このステージのデフォルトの非同期実行機能を使用して実行され、2つの結果が指定されたファンクションの引数として使用される、新しいCompletionStageを返します。<U,
V> CompletableFuture <V> thenCombineAsync
(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn, Executor executor) このステージと他の指定されたステージの両方が正常に完了すると、指定されたエグゼキュータを使用して実行され、2つの結果が指定されたファンクションの引数として実行される新しいCompletionStageを返します。<U> CompletableFuture
<U> thenCompose
(Function<? super T, ? extends CompletionStage<U>> fn) 指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。<U> CompletableFuture
<U> thenComposeAsync
(Function<? super T, ? extends CompletionStage<U>> fn) このステージのデフォルトの非同期実行機能を使用して実行された、指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。<U> CompletableFuture
<U> thenComposeAsync
(Function<? super T, ? extends CompletionStage<U>> fn, Executor executor) 指定されたエグゼキュータを使用して実行される、指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。このステージが正常に完了したときに、指定されたアクションを実行する新しいCompletionStageを返します。thenRunAsync
(Runnable action) このステージが正常に完了したときに、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。thenRunAsync
(Runnable action, Executor executor) このステージが正常に完了したときに指定されたExecutorを使用して指定されたアクションを実行する新しいCompletionStageを返します。このCompletableFutureを返します。toString()
この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を返します。クラスjava.lang.Objectで宣言されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
インタフェースjava.util.concurrent.CompletionStageで宣言されたメソッド
exceptionallyAsync, exceptionallyAsync, exceptionallyCompose, exceptionallyComposeAsync, exceptionallyComposeAsync
インタフェースjava.util.concurrent.Futureで宣言されたメソッド
exceptionNow, resultNow, state
-
コンストラクタの詳細
-
CompletableFuture
public CompletableFuture()新しい不完全なCompletableFutureを作成します。
-
-
メソッドの詳細
-
supplyAsync
public static <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier) ForkJoinPool.commonPool()
で実行されているタスクが指定されたサプライヤを呼び出して取得した値を使用して非同期的に完了する新しいCompletableFutureを返します。- 型パラメータ:
U
- 関数の戻り値の型- パラメータ:
supplier
- 返されるCompletableFutureを完了するために使用される値を返す関数- 戻り値:
- 新しいCompletableFuture
-
supplyAsync
public static <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier, Executor executor) 指定されたエグゼキュータで実行されているタスクが指定されたサプライヤを呼び出して取得した値を使用して非同期的に完了する新しいCompletableFutureを返します。- 型パラメータ:
U
- 関数の戻り値の型- パラメータ:
supplier
- 返されるCompletableFutureを完了するために使用される値を返す関数executor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletableFuture
-
runAsync
public static CompletableFuture<Void> runAsync(Runnable runnable) ForkJoinPool.commonPool()
で実行されているタスクが指定されたアクションの実行後に非同期に完了する新しいCompletableFutureを返します。- パラメータ:
runnable
- 返されるCompletableFutureを完了する前に実行するアクション- 戻り値:
- 新しいCompletableFuture
-
runAsync
public static CompletableFuture<Void> runAsync(Runnable runnable, Executor executor) 指定されたexecutorで実行されているタスクが指定されたアクションの実行後に非同期に完了する新しいCompletableFutureを返します。- パラメータ:
runnable
- 返されるCompletableFutureを完了する前に実行するアクションexecutor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletableFuture
-
completedFuture
public static <U> CompletableFuture<U> completedFuture(U value) 指定された値ですでに完了している新しいCompletableFutureを返します。- 型パラメータ:
U
- 値の型- パラメータ:
value
- 値- 戻り値:
- 完了したCompletableFuture
-
isDone
-
get
public T get() throws InterruptedException, ExecutionException必要な場合はこのフューチャが完了するのを待機し、その結果を返します。- 定義:
get
、インタフェースFuture<T>
- 戻り値:
- 結果値
- 例外:
CancellationException
- このfutureが取り消された場合ExecutionException
- このfutureが例外で完了した場合InterruptedException
- 待機中に現在のスレッドで割込みが発生した場合
-
get
public T get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException 必要な場合は指定された時間までこのフューチャが完了するのを待機し、その結果を返します(使用可能な場合)。- 定義:
get
、インタフェースFuture<T>
- パラメータ:
timeout
- 待機する最長時間unit
- timeout引数の時間単位- 戻り値:
- 結果値
- 例外:
CancellationException
- このfutureが取り消された場合ExecutionException
- このfutureが例外で完了した場合InterruptedException
- 待機中に現在のスレッドで割込みが発生した場合TimeoutException
- 待機がタイム・アウトになった場合
-
join
public T join()完了した場合は結果値を返します。例外で完了した場合は(非チェック)例外をスローします。 一般的な関数形式の使用方法にあわせるため、このCompletableFutureの完了に関与する計算によって例外がスローされた場合、このメソッドはベースとなる例外をその原因に設定した(非チェックの)CompletionException
をスローします。- 戻り値:
- 結果値
- 例外:
CancellationException
- 計算が取り消された場合CompletionException
- このfutureが例外で完了するか、完了計算で例外がスローされた場合
-
getNow
完了した場合は結果の値(または検出された例外)を返し、それ以外の場合は指定されたvalueIfAbsentを返します。- パラメータ:
valueIfAbsent
- 完了していない場合に返す値- 戻り値:
- 完了した場合は結果の値。それ以外の場合は指定されたvalueIfAbsent
- 例外:
CancellationException
- 計算が取り消された場合CompletionException
- このfutureが例外で完了するか、完了計算で例外がスローされた場合
-
complete
-
completeExceptionally
-
thenApply
public <U> CompletableFuture<U> thenApply(Function<? super T, ? extends U> fn) インタフェースからコピーされた説明:CompletionStage
このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定して実行される新しいCompletionStageを返します。このメソッドは、
Optional.map
およびStream.map
に似ています。例外の完了に適用されるルールの詳細は、
CompletionStage
のドキュメントを参照してください。- 定義:
thenApply
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 関数の戻り値の型- パラメータ:
fn
- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
thenApplyAsync
public <U> CompletableFuture<U> thenApplyAsync(Function<? super T, ? extends U> fn) インタフェースからコピーされた説明:CompletionStage
このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
thenApplyAsync
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 関数の戻り値の型- パラメータ:
fn
- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
thenApplyAsync
public <U> CompletableFuture<U> thenApplyAsync(Function<? super T, ? extends U> fn, Executor executor) インタフェースからコピーされた説明:CompletionStage
このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
thenApplyAsync
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 関数の戻り値の型- パラメータ:
fn
- 返されるCompletionStageの値を計算するために使用される関数executor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
thenAccept
public CompletableFuture<Void> thenAccept(Consumer<? super T> action) インタフェースからコピーされた説明:CompletionStage
このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
thenAccept
、インタフェースCompletionStage<T>
- パラメータ:
action
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
thenAcceptAsync
public CompletableFuture<Void> thenAcceptAsync(Consumer<? super T> action) インタフェースからコピーされた説明:CompletionStage
このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
thenAcceptAsync
、インタフェースCompletionStage<T>
- パラメータ:
action
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
thenAcceptAsync
public CompletableFuture<Void> thenAcceptAsync(Consumer<? super T> action, Executor executor) インタフェースからコピーされた説明:CompletionStage
このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
thenAcceptAsync
、インタフェースCompletionStage<T>
- パラメータ:
action
- 返されるCompletionStageを完了する前に実行するアクションexecutor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
thenRun
public CompletableFuture<Void> thenRun(Runnable action) インタフェースからコピーされた説明:CompletionStage
このステージが正常に完了したときに、指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
thenRun
、インタフェースCompletionStage<T>
- パラメータ:
action
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
thenRunAsync
public CompletableFuture<Void> thenRunAsync(Runnable action) インタフェースからコピーされた説明:CompletionStage
このステージが正常に完了したときに、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
thenRunAsync
、インタフェースCompletionStage<T>
- パラメータ:
action
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
thenRunAsync
public CompletableFuture<Void> thenRunAsync(Runnable action, Executor executor) インタフェースからコピーされた説明:CompletionStage
このステージが正常に完了したときに指定されたExecutorを使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
thenRunAsync
、インタフェースCompletionStage<T>
- パラメータ:
action
- 返されるCompletionStageを完了する前に実行するアクションexecutor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
thenCombine
public <U,V> CompletableFuture<V> thenCombine(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn) インタフェースからコピーされた説明:CompletionStage
このステージと指定された他のステージの両方が正常終了した際に実行される新しいCompletionStageを返します(実行時には、指定された関数の引数として2つの結果が使用される)。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
thenCombine
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 他のCompletionStageの結果の型V
- 関数の戻り値の型- パラメータ:
other
- 他のCompletionStagefn
- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
thenCombineAsync
public <U,V> CompletableFuture<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn) インタフェースからコピーされた説明:CompletionStage
このステージと他の指定されたステージの両方が正常に完了すると、このステージのデフォルトの非同期実行機能を使用して実行され、2つの結果が指定されたファンクションの引数として使用される、新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
thenCombineAsync
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 他のCompletionStageの結果の型V
- 関数の戻り値の型- パラメータ:
other
- 他のCompletionStagefn
- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
thenCombineAsync
public <U,V> CompletableFuture<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn, Executor executor) インタフェースからコピーされた説明:CompletionStage
このステージと他の指定されたステージの両方が正常に完了すると、指定されたエグゼキュータを使用して実行され、2つの結果が指定されたファンクションの引数として実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
thenCombineAsync
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 他のCompletionStageの結果の型V
- 関数の戻り値の型- パラメータ:
other
- 他のCompletionStagefn
- 返されるCompletionStageの値を計算するために使用される関数executor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
thenAcceptBoth
public <U> CompletableFuture<Void> thenAcceptBoth(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action) インタフェースからコピーされた説明:CompletionStage
このステージと指定された他のステージの両方が正常終了した際に実行される新しいCompletionStageを返します(実行時には、指定されたアクションの引数として2つの結果が使用される)。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
thenAcceptBoth
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 他のCompletionStageの結果の型- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
thenAcceptBothAsync
public <U> CompletableFuture<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action) インタフェースからコピーされた説明:CompletionStage
このステージと他の指定されたステージの両方が正常に完了すると、このステージのデフォルトの非同期実行機能を使用して実行され、2つの結果が指定されたアクションの引数として使用される、新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
thenAcceptBothAsync
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 他のCompletionStageの結果の型- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
thenAcceptBothAsync
public <U> CompletableFuture<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action, Executor executor) インタフェースからコピーされた説明:CompletionStage
このステージと他の指定されたステージの両方が正常に完了すると、指定されたエグゼキュータを使用して実行され、2つの結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
thenAcceptBothAsync
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 他のCompletionStageの結果の型- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクションexecutor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
runAfterBoth
public CompletableFuture<Void> runAfterBoth(CompletionStage<?> other, Runnable action) インタフェースからコピーされた説明:CompletionStage
このステージと指定された他のステージの両方が正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
runAfterBoth
、インタフェースCompletionStage<T>
- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
runAfterBothAsync
public CompletableFuture<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action) インタフェースからコピーされた説明:CompletionStage
このステージと他の指定されたステージの両方が正常に完了すると、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する、新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
runAfterBothAsync
、インタフェースCompletionStage<T>
- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
runAfterBothAsync
public CompletableFuture<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action, Executor executor) インタフェースからコピーされた説明:CompletionStage
このステージと他の指定されたステージの両方が正常に完了すると、指定されたエグゼキュータを使用して指定されたアクションを実行する、新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
runAfterBothAsync
、インタフェースCompletionStage<T>
- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクションexecutor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
applyToEither
public <U> CompletableFuture<U> applyToEither(CompletionStage<? extends T> other, Function<? super T, U> fn) インタフェースからコピーされた説明:CompletionStage
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
applyToEither
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 関数の戻り値の型- パラメータ:
other
- 他のCompletionStagefn
- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
applyToEitherAsync
public <U> CompletableFuture<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T, U> fn) インタフェースからコピーされた説明:CompletionStage
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
applyToEitherAsync
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 関数の戻り値の型- パラメータ:
other
- 他のCompletionStagefn
- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
applyToEitherAsync
public <U> CompletableFuture<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T, U> fn, Executor executor) インタフェースからコピーされた説明:CompletionStage
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
applyToEitherAsync
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 関数の戻り値の型- パラメータ:
other
- 他のCompletionStagefn
- 返されるCompletionStageの値を計算するために使用される関数executor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
acceptEither
public CompletableFuture<Void> acceptEither(CompletionStage<? extends T> other, Consumer<? super T> action) インタフェースからコピーされた説明:CompletionStage
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
acceptEither
、インタフェースCompletionStage<T>
- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
acceptEitherAsync
public CompletableFuture<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action) インタフェースからコピーされた説明:CompletionStage
このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
acceptEitherAsync
、インタフェースCompletionStage<T>
- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
acceptEitherAsync
public CompletableFuture<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor) インタフェースからコピーされた説明:CompletionStage
このステージまたは指定されたステージのいずれかが正常に完了したときに、指定されたエグゼキュータを使用して実行され、対応する結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
acceptEitherAsync
、インタフェースCompletionStage<T>
- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクションexecutor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
runAfterEither
public CompletableFuture<Void> runAfterEither(CompletionStage<?> other, Runnable action) インタフェースからコピーされた説明:CompletionStage
このステージと指定された他のステージのどちらかが正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
runAfterEither
、インタフェースCompletionStage<T>
- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
runAfterEitherAsync
public CompletableFuture<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action) インタフェースからコピーされた説明:CompletionStage
このステージと指定された他のステージのどちらかが正常に完了したときにこのステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
runAfterEitherAsync
、インタフェースCompletionStage<T>
- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクション- 戻り値:
- 新しいCompletionStage
-
runAfterEitherAsync
public CompletableFuture<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action, Executor executor) インタフェースからコピーされた説明:CompletionStage
このステージと指定された他のステージのどちらかが正常に完了したときに指定されたエグゼキュータを使用して指定されたアクションを実行する新しいCompletionStageを返します。 例外の完了に適用されるルールの詳細は、CompletionStage
のドキュメントを参照してください。- 定義:
runAfterEitherAsync
、インタフェースCompletionStage<T>
- パラメータ:
other
- 他のCompletionStageaction
- 返されるCompletionStageを完了する前に実行するアクションexecutor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
thenCompose
public <U> CompletableFuture<U> thenCompose(Function<? super T, ? extends CompletionStage<U>> fn) インタフェースからコピーされた説明:CompletionStage
指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。このステージが正常に完了すると、指定されたファンクションが引数としてこのステージの結果とともに起動され、別のCompletionStageが返されます。 そのステージが正常に完了すると、このメソッドによって返されるCompletionStageは同じ値で完了します。
進行を確実にするには、指定された関数が結果の最終的な完了を整理する必要があります。
このメソッドは、
Optional.flatMap
およびStream.flatMap
に似ています。例外の完了に適用されるルールの詳細は、
CompletionStage
のドキュメントを参照してください。- 定義:
thenCompose
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 返されるCompletionStageの結果の型- パラメータ:
fn
- 別のCompletionStageのコンピュートに使用する関数- 戻り値:
- 新しいCompletionStage
-
thenComposeAsync
public <U> CompletableFuture<U> thenComposeAsync(Function<? super T, ? extends CompletionStage<U>> fn) インタフェースからコピーされた説明:CompletionStage
このステージのデフォルトの非同期実行機能を使用して実行された、指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。このステージが正常に完了すると、指定されたファンクションが引数としてこのステージの結果とともに起動され、別のCompletionStageが返されます。 そのステージが正常に完了すると、このメソッドによって返されるCompletionStageは同じ値で完了します。
進行を確実にするには、指定された関数が結果の最終的な完了を整理する必要があります。
例外の完了に適用されるルールの詳細は、
CompletionStage
のドキュメントを参照してください。- 定義:
thenComposeAsync
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 返されるCompletionStageの結果の型- パラメータ:
fn
- 別のCompletionStageのコンピュートに使用する関数- 戻り値:
- 新しいCompletionStage
-
thenComposeAsync
public <U> CompletableFuture<U> thenComposeAsync(Function<? super T, ? extends CompletionStage<U>> fn, Executor executor) インタフェースからコピーされた説明:CompletionStage
指定されたエグゼキュータを使用して実行される、指定されたファンクションによって返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。このステージが正常に完了すると、指定されたファンクションが引数としてこのステージの結果とともに起動され、別のCompletionStageが返されます。 そのステージが正常に完了すると、このメソッドによって返されるCompletionStageは同じ値で完了します。
進行を確実にするには、指定された関数が結果の最終的な完了を整理する必要があります。
例外の完了に適用されるルールの詳細は、
CompletionStage
のドキュメントを参照してください。- 定義:
thenComposeAsync
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 返されるCompletionStageの結果の型- パラメータ:
fn
- 別のCompletionStageのコンピュートに使用する関数executor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
whenComplete
public CompletableFuture<T> whenComplete(BiConsumer<? super T, ? super Throwable> action) インタフェースからコピーされた説明:CompletionStage
このステージが完了したときに指定されたアクションを実行するこのステージと同じ結果または例外を使用して新しいCompletionStageを返します。このステージの終了時に、指定されたアクションは、このステージの結果(ない場合は
null
)と例外(ない場合はnull
)を引数に指定して呼び出されます。 アクションが返されたときに、返されたステージが完了します。メソッド
handle
とは異なり、このメソッドは完了結果を変換するように設計されていないため、指定されたアクションは例外をスローしないでください。 ただし、その場合、次のルールが適用されます: このステージが正常に完了したが、指定されたアクションが例外をスローした場合、返されたステージは、指定されたアクションの例外とともに例外的に完了します。 または、このステージが例外的に完了し、指定されたアクションが例外をスローした場合、戻されたステージはこのステージの例外で例外的に完了します。- 定義:
whenComplete
、インタフェースCompletionStage<T>
- パラメータ:
action
- 実行するアクション- 戻り値:
- 新しいCompletionStage
-
whenCompleteAsync
public CompletableFuture<T> whenCompleteAsync(BiConsumer<? super T, ? super Throwable> action) インタフェースからコピーされた説明:CompletionStage
このステージが完了したときに、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行するこのステージと同じ結果または例外を使用して新しいCompletionStageを返します。このステージの終了時に、指定されたアクションは、このステージの結果(ない場合は
null
)と例外(ない場合はnull
)を引数に指定して呼び出されます。 アクションが返されたときに、返されたステージが完了します。メソッド
handleAsync
とは異なり、このメソッドは完了結果を変換するように設計されていないため、指定されたアクションは例外をスローしないでください。 ただし、その場合、次のルールが適用されます: このステージが正常に完了したが、指定されたアクションが例外をスローした場合、返されたステージは、指定されたアクションの例外とともに例外的に完了します。 または、このステージが例外的に完了し、指定されたアクションが例外をスローした場合、戻されたステージはこのステージの例外で例外的に完了します。- 定義:
whenCompleteAsync
、インタフェースCompletionStage<T>
- パラメータ:
action
- 実行するアクション- 戻り値:
- 新しいCompletionStage
-
whenCompleteAsync
public CompletableFuture<T> whenCompleteAsync(BiConsumer<? super T, ? super Throwable> action, Executor executor) インタフェースからコピーされた説明:CompletionStage
このステージが完了したときに、指定されたExecutorを使用して指定されたアクションを実行するこのステージと同じ結果または例外を使用して新しいCompletionStageを返します。このステージの終了時に、指定されたアクションは、このステージの結果(ない場合は
null
)と例外(ない場合はnull
)を引数に指定して呼び出されます。 アクションが返されたときに、返されたステージが完了します。メソッド
handleAsync
とは異なり、このメソッドは完了結果を変換するように設計されていないため、指定されたアクションは例外をスローしないでください。 ただし、その場合、次のルールが適用されます: このステージが正常に完了したが、指定されたアクションが例外をスローした場合、返されたステージは、指定されたアクションの例外とともに例外的に完了します。 または、このステージが例外的に完了し、指定されたアクションが例外をスローした場合、戻されたステージはこのステージの例外で例外的に完了します。- 定義:
whenCompleteAsync
、インタフェースCompletionStage<T>
- パラメータ:
action
- 実行するアクションexecutor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
handle
public <U> CompletableFuture<U> handle(BiFunction<? super T, Throwable, ? extends U> fn) インタフェースからコピーされた説明:CompletionStage
このステージが正常終了または異常終了した際に実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。このステージの終了時に、指定された関数は、このステージの結果(ない場合は
null
)と例外(ない場合はnull
)を引数に指定して呼び出され、関数の結果を使用して返されたステージが完了します。- 定義:
handle
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 関数の戻り値の型- パラメータ:
fn
- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
handleAsync
public <U> CompletableFuture<U> handleAsync(BiFunction<? super T, Throwable, ? extends U> fn) インタフェースからコピーされた説明:CompletionStage
このステージが正常終了または異常終了した際にこのステージのデフォルト非同期実行機能を使って実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。このステージの終了時に、指定された関数は、このステージの結果(ない場合は
null
)と例外(ない場合はnull
)を引数に指定して呼び出され、関数の結果を使用して返されたステージが完了します。- 定義:
handleAsync
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 関数の戻り値の型- パラメータ:
fn
- 返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
handleAsync
public <U> CompletableFuture<U> handleAsync(BiFunction<? super T, Throwable, ? extends U> fn, Executor executor) インタフェースからコピーされた説明:CompletionStage
このステージが正常終了または異常終了した際に指定されたエグゼキュータを使って実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。このステージの終了時に、指定された関数は、このステージの結果(ない場合は
null
)と例外(ない場合はnull
)を引数に指定して呼び出され、関数の結果を使用して返されたステージが完了します。- 定義:
handleAsync
、インタフェースCompletionStage<T>
- 型パラメータ:
U
- 関数の戻り値の型- パラメータ:
fn
- 返されるCompletionStageの値を計算するために使用される関数executor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- 新しいCompletionStage
-
toCompletableFuture
public CompletableFuture<T> toCompletableFuture()このCompletableFutureを返します。- 定義:
toCompletableFuture
、インタフェースCompletionStage<T>
- 戻り値:
- このCompletableFuture
-
exceptionally
public CompletableFuture<T> exceptionally(Function<Throwable, ? extends T> fn) インタフェースからコピーされた説明:CompletionStage
このステージが例外で完了したときに、このステージの例外を指定された関数への引数に設定して実行される新しいCompletionStageを返します。 このステージが正常に完了した場合は、返されるステージも同じ値で正常に完了します。- 定義:
exceptionally
、インタフェースCompletionStage<T>
- パラメータ:
fn
- このCompletionStageが例外で完了した場合に返されるCompletionStageの値を計算するために使用される関数- 戻り値:
- 新しいCompletionStage
-
allOf
public static CompletableFuture<Void> allOf(CompletableFuture<?>... cfs) 指定されたすべてのCompletableFutureが完了したときに完了する新しいCompletableFutureを返します。 指定されたいずれかのCompletableFutureが例外で完了した場合は、返されるCompletableFutureも例外で完了し、その原因としてこの例外がCompletionExceptionに保持されます。 それ以外の場合、指定されたCompletableFutureの結果(ある場合)は返されるCompletableFutureに反映されませんが、個別に調べることで取得できます。 CompletableFutureが1つも指定されなかった場合は、値null
で完了したCompletableFutureが返されます。このメソッドの用途の1つは、
CompletableFuture.allOf(c1, c2, c3).join();
のように、プログラムを続行する前に一連の独立したCompletableFutureの完了を待機することです。- パラメータ:
cfs
- CompletableFuture- 戻り値:
- 指定されたCompletableFutureがすべて完了したときに完了する新しいCompletableFuture
- 例外:
NullPointerException
- 配列またはそのいずれかの要素がnull
である場合
-
anyOf
public static CompletableFuture<Object> anyOf(CompletableFuture<?>... cfs) 指定されたいずれかのCompletableFutureが完了したときに同じ結果で完了する新しいCompletableFutureを返します。 例外で完了した場合は、返されるCompletableFutureも例外で完了し、その原因としてこの例外がCompletionExceptionに保持されます。 CompletableFutureが1つも指定されなかった場合は、完了していないCompletableFutureが返されます。- パラメータ:
cfs
- CompletableFuture- 戻り値:
- 指定されたいずれかのCompletableFutureが完了したときにその結果または例外で完了する新しいCompletableFuture
- 例外:
NullPointerException
- 配列またはそのいずれかの要素がnull
である場合
-
cancel
public boolean cancel(boolean mayInterruptIfRunning) まだ完了していない場合は、このCompletableFutureをCancellationException
で完了します。 このCancellationException
によってCompletionException
が発生するため、まだ完了していない依存するCompletableFutureも例外で完了します。 -
isCancelled
public boolean isCancelled()このCompletableFutureが正常に完了する前に取り消された場合はtrue
を返します。- 定義:
isCancelled
、インタフェースFuture<T>
- 戻り値:
- このCompletableFutureが正常に完了する前に取り消された場合は
true
-
isCompletedExceptionally
public boolean isCompletedExceptionally()このCompletableFutureがなんらかの形で例外で完了した場合はtrue
を返します。 考えられる原因として、取消し、completeExceptionally
の明示的な呼出し、CompletionStageのアクションの異常終了などがあります。- 戻り値:
- このCompletableFutureが例外で完了した場合は
true
-
obtrudeValue
-
obtrudeException
public void obtrudeException(Throwable ex) すでに完了しているかどうかに関係なく、後続のget()
メソッドおよび関連メソッドの呼出しを強制的に行い、指定された例外をスローします。 このメソッドはエラー回復アクションでの使用のみを目的に設計されており、そのような状況でも、上書きされた結果ではなく確立された結果を使用して依存する完了が進行する場合があります。- パラメータ:
ex
- 例外- 例外:
NullPointerException
- 例外がnullの場合
-
getNumberOfDependents
public int getNumberOfDependents()自身の完了のためにこのCompletableFutureの完了を待機しているCompletableFutureの推定数を返します。 このメソッドは、同期の制御用としてではなく、システム状態の監視用として設計されています。- 戻り値:
- 依存するCompletableFutureの数
-
toString
-
newIncompleteFuture
public <U> CompletableFuture<U> newIncompleteFuture()CompletionStageメソッドによって返される型の新しい不完全なCompletableFutureを返します。 通常、サブクラスはこのメソッドをオーバーライドして、このCompletableFutureと同じクラスのインスタンスを返す必要があります。 デフォルトの実装では、クラスCompletableFutureのインスタンスが返されます。- 型パラメータ:
U
- 値の型- 戻り値:
- 新しいCompletableFuture
- 導入されたバージョン:
- 9
-
defaultExecutor
public Executor defaultExecutor()エグゼキュータを指定しない非同期メソッドに使用されるデフォルトのエグゼキュータを返します。 このクラスは、複数のパラレル・スレッドをサポートする場合はForkJoinPool.commonPool()
を使用し、そうでない場合は非同期タスクごとに1つのスレッドを使用するエグゼキュータを使用します。 このメソッドは、少なくとも1つの独立したスレッドを提供するエグゼキュータを返すようにサブクラスでオーバーライドできます。- 戻り値:
- エグゼクティブ
- 導入されたバージョン:
- 9
-
copy
public CompletableFuture<T> copy()正常に完了したときに、このCompletableFutureと同じ値で正常に完了する新しいCompletableFutureを返します。 このCompletableFutureが例外的に完了すると、返されたCompletableFutureは例外的にCompletionExceptionで完了し、この例外が原因となります。 この動作はthenApply(x -> x)
と同じです。 このメソッドは、"防御的なコピー"の形式として有用であり、クライアントが従属アクションを整理しながら完了するのを防ぐことができます。- 戻り値:
- 新しいCompletableFuture
- 導入されたバージョン:
- 9
-
minimalCompletionStage
public CompletionStage<T> minimalCompletionStage()正常に完了したときに、このCompletableFutureと同じ値で正常に完了する新しいCompletionStageを返します。この値は、インタフェースCompletionStage
のメソッドで定義されていない方法で個別に完了したり、使用することはできません。 このCompletableFutureが例外的に完了した場合、返されたCompletionStageは例外的にCompletionExceptionで完了し、この例外は原因となります。サブクラスによってオーバーライドされないかぎり、使用可能なすべてのメソッドを持つ新しい最小以外のCompletableFutureは、
toCompletableFuture()
を介して最小限のCompletionStageから取得できます。 たとえば、最小ステージの完了を待機できますminimalStage.toCompletableFuture().join();
- 戻り値:
- 新しいCompletionStage
- 導入されたバージョン:
- 9
-
completeAsync
public CompletableFuture<T> completeAsync(Supplier<? extends T> supplier, Executor executor) 指定されたエグゼキュータを使用して非同期タスクから呼び出された特定のSupplier関数の結果を使用して、このCompletableFutureを完了します。- パラメータ:
supplier
- このCompletableFutureを完了するために使用される値を返す関数executor
- 非同期実行に使用するエグゼキュータ- 戻り値:
- このCompletableFuture
- 導入されたバージョン:
- 9
-
completeAsync
public CompletableFuture<T> completeAsync(Supplier<? extends T> supplier) デフォルトのエグゼキュータを使用して非同期タスクから呼び出された特定のSupplier関数の結果を使用して、このCompletableFutureを完了します。- パラメータ:
supplier
- このCompletableFutureを完了するために使用される値を返す関数- 戻り値:
- このCompletableFuture
- 導入されたバージョン:
- 9
-
orTimeout
public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit) このCompletableFutureは、指定のタイムアウトより前に完了していない場合は、例外的にTimeoutException
で完了します。- パラメータ:
timeout
- TimeoutExceptionで例外的に完了するまで待機する時間(単位はunit
)unit
-timeout
パラメータの解釈方法を決定するTimeUnit
- 戻り値:
- このCompletableFuture
- 導入されたバージョン:
- 9
-
completeOnTimeout
public CompletableFuture<T> completeOnTimeout(T value, long timeout, TimeUnit unit) このCompletableFutureを指定された値で完了します(指定のタイムアウトより前に完了しない場合)。- パラメータ:
value
- タイムアウト時に使用する値timeout
- 指定された値で正常に完了するまで待機する時間(単位はunit
)unit
-timeout
パラメータの解釈方法を決定するTimeUnit
- 戻り値:
- このCompletableFuture
- 導入されたバージョン:
- 9
-
delayedExecutor
指定された遅延(非正の場合は遅延なし)の後に、指定されたベースexecutorにタスクをサブミットする新しいExecutorを返します。 各遅延は、戻されたエグゼキュータのexecute
メソッドの起動時に開始されます。- パラメータ:
delay
- 遅延する時間(unit
単位)unit
-delay
パラメータの解釈方法を決定するTimeUnit
executor
- ベース・エグゼキュータ- 戻り値:
- 新しい遅延エグゼキュータ
- 導入されたバージョン:
- 9
-
delayedExecutor
-
completedStage
public static <U> CompletionStage<U> completedStage(U value) 指定された値ですでに完了している新しいCompletionStageを返し、インタフェースCompletionStage
のメソッドのみをサポートします。- 型パラメータ:
U
- 値の型- パラメータ:
value
- 値- 戻り値:
- 完成したCompletionStage
- 導入されたバージョン:
- 9
-
failedFuture
public static <U> CompletableFuture<U> failedFuture(Throwable ex) 指定された例外で例外的にすでに完了している新しいCompletableFutureを返します。- 型パラメータ:
U
- 値の型- パラメータ:
ex
- 例外- 戻り値:
- 例外的に完了したCompletableFuture
- 導入されたバージョン:
- 9
-
failedStage
public static <U> CompletionStage<U> failedStage(Throwable ex) 指定された例外を使って例外的にすでに完了している新しいCompletionStageを返し、インタフェースCompletionStage
のメソッドのみをサポートします。- 型パラメータ:
U
- 値の型- パラメータ:
ex
- 例外- 戻り値:
- 例外的に完了したCompletionStage
- 導入されたバージョン:
- 9
-