インタフェース
java.util.concurrent.CompletionStageの使用

CompletionStageを使用しているパッケージ 
パッケージ 説明
java.net.http
HTTPクライアントおよびWebSocket API
java.util.concurrent
並行プログラミングでよく使用されるユーティリティ・クラスです。
  • java.net.httpでのCompletionStageの使用

    CompletionStageを戻すjava.net.httpのメソッド
    修飾子と型 メソッド 説明
    CompletionStage<T> HttpResponse.BodySubscriber.getBody()
    終了時にレスポンス本文オブジェクトを返すCompletionStageを返します。
    default CompletionStage<?> WebSocket.Listener.onBinary​(WebSocket webSocket, ByteBuffer data, boolean last)
    バイナリ・データを受け取りました。
    default CompletionStage<?> WebSocket.Listener.onClose​(WebSocket webSocket, int statusCode, String reason)
    WebSocket入力が閉じられたことを示すクローズ・メッセージを受け取ります。
    default CompletionStage<?> WebSocket.Listener.onPing​(WebSocket webSocket, ByteBuffer message)
    Pingメッセージを受信しました。
    default CompletionStage<?> WebSocket.Listener.onPong​(WebSocket webSocket, ByteBuffer message)
    Pongメッセージが受信されました。
    default CompletionStage<?> WebSocket.Listener.onText​(WebSocket webSocket, CharSequence data, boolean last)
    テキスト・データを受け取りました。
  • java.util.concurrentでのCompletionStageの使用

    CompletionStageを実装しているjava.util.concurrentのクラス 
    修飾子と型 クラス 説明
    class  CompletableFuture<T>
    明示的に(その値とステータスを設定して)完了できるFutureです。その完了時に発生する依存関数およびアクションをサポートし、CompletionStageとして使用できます。
    CompletionStageを返すjava.util.concurrentのメソッド 
    修飾子と型 メソッド 説明
    CompletionStage<Void> CompletionStage.acceptEither​(CompletionStage<? extends T> other, Consumer<? super T> action)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定して実行される新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.acceptEitherAsync​(CompletionStage<? extends T> other, Consumer<? super T> action)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.acceptEitherAsync​(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor)
    指定されたステージが正常に完了したときに、指定されたステージのいずれかが正常に完了したときに、指定されたエグゼキュータを使用して実行され、対応する結果が指定されたアクションの引数として返される新しいCompletionStageを返します。
    <U> CompletionStage<U> CompletionStage.applyToEither​(CompletionStage<? extends T> other, Function<? super T,​U> fn)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定して実行される新しいCompletionStageを返します。
    <U> CompletionStage<U> CompletionStage.applyToEitherAsync​(CompletionStage<? extends T> other, Function<? super T,​U> fn)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。
    <U> CompletionStage<U> CompletionStage.applyToEitherAsync​(CompletionStage<? extends T> other, Function<? super T,​U> fn, Executor executor)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。
    static <U> CompletionStage<U> CompletableFuture.completedStage​(U value)
    指定された値ですでに完了している新しいCompletionStageを返し、インタフェースCompletionStageのメソッドのみをサポートします。
    CompletionStage<T> CompletionStage.exceptionally​(Function<Throwable,​? extends T> fn)
    このステージが例外で完了したときに、このステージの例外を指定された関数への引数に設定して実行される新しいCompletionStageを返します。
    default CompletionStage<T> CompletionStage.exceptionallyAsync​(Function<Throwable,​? extends T> fn)
    新しいCompletionStageを返します。このステージが例外的に完了すると、この段階でデフォルトの非同期実行機能を使用し、指定された関数の引数としてこの段階例外で実行されます。
    default CompletionStage<T> CompletionStage.exceptionallyAsync​(Function<Throwable,​? extends T> fn, Executor executor)
    このステージが例外的に完了すると、指定されたエグゼキュータを使用して、指定された関数の引数としてこのステージ例外で実行される新しいCompletionStageを返します。
    default CompletionStage<T> CompletionStage.exceptionallyCompose​(Function<Throwable,​? extends CompletionStage<T>> fn)
    このステージが異常終了したときに、このステージ例外に適用された提供された関数の結果を使用して構成された、新しいCompletionStageを返します。
    default CompletionStage<T> CompletionStage.exceptionallyComposeAsync​(Function<Throwable,​? extends CompletionStage<T>> fn)
    このステージが異常終了したときに、このステージのデフォルトの非同期実行機能を使用して、このステージ例外に適用された提供関数の結果を使用して構成された新しいCompletionStageを返します。
    default CompletionStage<T> CompletionStage.exceptionallyComposeAsync​(Function<Throwable,​? extends CompletionStage<T>> fn, Executor executor)
    新しいCompletionStageを返します。このステージが例外的に完了すると、指定されたエグゼキュータを使用して、このステージ例外に適用された指定関数の結果を使用して構成されます。
    static <U> CompletionStage<U> CompletableFuture.failedStage​(Throwable ex)
    指定された例外を使って例外的にすでに完了している新しいCompletionStageを返し、インタフェースCompletionStageのメソッドのみをサポートします。
    <U> CompletionStage<U> CompletionStage.handle​(BiFunction<? super T,​Throwable,​? extends U> fn)
    このステージが正常終了または異常終了した際に実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。
    <U> CompletionStage<U> CompletionStage.handleAsync​(BiFunction<? super T,​Throwable,​? extends U> fn)
    このステージが正常終了または異常終了した際にこのステージのデフォルト非同期実行機能を使って実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。
    <U> CompletionStage<U> CompletionStage.handleAsync​(BiFunction<? super T,​Throwable,​? extends U> fn, Executor executor)
    このステージが正常終了または異常終了した際に指定されたエグゼキュータを使って実行される新しいCompletionStageを返します(実行時には、指定された関数の引数としてこのステージの結果と例外が使用される)。
    CompletionStage<T> CompletableFuture.minimalCompletionStage()
    このCompletableFutureが正常に完了したときに、このCompletableFutureと同じ値で正常に完了し、独自に完了できないか、インタフェースCompletionStageのメソッドで定義されていない方法で使用することができない新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.runAfterBoth​(CompletionStage<?> other, Runnable action)
    このステージと指定された他のステージの両方が正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.runAfterBothAsync​(CompletionStage<?> other, Runnable action)
    これと他のステージが両方とも正常に完了したときに、このステージのデフォルトの非同期実行機能を使用して、指定されたアクションを実行する新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.runAfterBothAsync​(CompletionStage<?> other, Runnable action, Executor executor)
    これと他のステージが両方とも正常に完了した場合に、指定されたアクションを指定されたエグゼキュータを使用して実行する新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.runAfterEither​(CompletionStage<?> other, Runnable action)
    このステージと指定された他のステージのどちらかが正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.runAfterEitherAsync​(CompletionStage<?> other, Runnable action)
    このステージと指定された他のステージのどちらかが正常に完了したときにこのステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.runAfterEitherAsync​(CompletionStage<?> other, Runnable action, Executor executor)
    このステージと指定された他のステージのどちらかが正常に完了したときに指定されたエグゼキュータを使用して指定されたアクションを実行する新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.thenAccept​(Consumer<? super T> action)
    このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定して実行される新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.thenAcceptAsync​(Consumer<? super T> action)
    このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.thenAcceptAsync​(Consumer<? super T> action, Executor executor)
    このステージが正常に完了したときに、このステージの結果を指定されたアクションへの引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。
    <U> CompletionStage<Void> CompletionStage.thenAcceptBoth​(CompletionStage<? extends U> other, BiConsumer<? super T,​? super U> action)
    このステージと指定された他のステージの両方が正常終了した際に実行される新しいCompletionStageを返します(実行時には、指定されたアクションの引数として2つの結果が使用される)。
    <U> CompletionStage<Void> CompletionStage.thenAcceptBothAsync​(CompletionStage<? extends U> other, BiConsumer<? super T,​? super U> action)
    これと他のステージが両方とも正常に完了したときに、このステージのデフォルトの非同期実行ファシリティを使用して実行され、2つの結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。
    <U> CompletionStage<Void> CompletionStage.thenAcceptBothAsync​(CompletionStage<? extends U> other, BiConsumer<? super T,​? super U> action, Executor executor)
    これと他のステージが両方とも正常に完了したときに、指定されたエグゼキュータを使用して実行され、2つの結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。
    <U> CompletionStage<U> CompletionStage.thenApply​(Function<? super T,​? extends U> fn)
    このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定して実行される新しいCompletionStageを返します。
    <U> CompletionStage<U> CompletionStage.thenApplyAsync​(Function<? super T,​? extends U> fn)
    このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。
    <U> CompletionStage<U> CompletionStage.thenApplyAsync​(Function<? super T,​? extends U> fn, Executor executor)
    このステージが正常に完了したときに、このステージの結果を指定された関数への引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。
    <U,​ V> CompletionStage<V> CompletionStage.thenCombine​(CompletionStage<? extends U> other, BiFunction<? super T,​? super U,​? extends V> fn)
    このステージと指定された他のステージの両方が正常終了した際に実行される新しいCompletionStageを返します(実行時には、指定された関数の引数として2つの結果が使用される)。
    <U,​ V> CompletionStage<V> CompletionStage.thenCombineAsync​(CompletionStage<? extends U> other, BiFunction<? super T,​? super U,​? extends V> fn)
    このステージと他のステージが両方とも正常に完了したときに、このステージのデフォルトの非同期実行ファシリティを使用して実行され、2つの結果が指定された関数の引数として使用される新しいCompletionStageを返します。
    <U,​ V> CompletionStage<V> CompletionStage.thenCombineAsync​(CompletionStage<? extends U> other, BiFunction<? super T,​? super U,​? extends V> fn, Executor executor)
    これと他のステージが両方とも正常に完了したときに、指定された関数の引数として2つの結果を指定して、指定されたexecutorを使用して実行される新しいCompletionStageを返します。
    <U> CompletionStage<U> CompletionStage.thenCompose​(Function<? super T,​? extends CompletionStage<U>> fn)
    指定された関数から返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。
    <U> CompletionStage<U> CompletionStage.thenComposeAsync​(Function<? super T,​? extends CompletionStage<U>> fn)
    このステージのデフォルトの非同期実行機能を使用して実行された、指定された関数から返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。
    <U> CompletionStage<U> CompletionStage.thenComposeAsync​(Function<? super T,​? extends CompletionStage<U>> fn, Executor executor)
    指定されたExecutorによって返されたCompletionStageと同じ値で完了し、指定されたExecutorを使用して実行される新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.thenRun​(Runnable action)
    このステージが正常に完了したときに、指定されたアクションを実行する新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.thenRunAsync​(Runnable action)
    このステージが正常に完了したときに、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.thenRunAsync​(Runnable action, Executor executor)
    このステージが正常に完了したときに指定されたExecutorを使用して指定されたアクションを実行する新しいCompletionStageを返します。
    CompletionStage<T> CompletionStage.whenComplete​(BiConsumer<? super T,​? super Throwable> action)
    このステージが完了したときに指定されたアクションを実行するこのステージと同じ結果または例外を使用して新しいCompletionStageを返します。
    CompletionStage<T> CompletionStage.whenCompleteAsync​(BiConsumer<? super T,​? super Throwable> action)
    このステージが完了したときに、このステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行するこのステージと同じ結果または例外を使用して新しいCompletionStageを返します。
    CompletionStage<T> CompletionStage.whenCompleteAsync​(BiConsumer<? super T,​? super Throwable> action, Executor executor)
    このステージが完了したときに、指定されたExecutorを使用して指定されたアクションを実行するこのステージと同じ結果または例外を使用して新しいCompletionStageを返します。
    CompletionStage型のパラメータを持つjava.util.concurrentのメソッド 
    修飾子と型 メソッド 説明
    CompletableFuture<Void> CompletableFuture.acceptEither​(CompletionStage<? extends T> other, Consumer<? super T> action)  
    CompletionStage<Void> CompletionStage.acceptEither​(CompletionStage<? extends T> other, Consumer<? super T> action)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定して実行される新しいCompletionStageを返します。
    CompletableFuture<Void> CompletableFuture.acceptEitherAsync​(CompletionStage<? extends T> other, Consumer<? super T> action)  
    CompletableFuture<Void> CompletableFuture.acceptEitherAsync​(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor)  
    CompletionStage<Void> CompletionStage.acceptEitherAsync​(CompletionStage<? extends T> other, Consumer<? super T> action)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.acceptEitherAsync​(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor)
    指定されたステージが正常に完了したときに、指定されたステージのいずれかが正常に完了したときに、指定されたエグゼキュータを使用して実行され、対応する結果が指定されたアクションの引数として返される新しいCompletionStageを返します。
    <U> CompletionStage<U> CompletionStage.applyToEither​(CompletionStage<? extends T> other, Function<? super T,​U> fn)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定して実行される新しいCompletionStageを返します。
    <U> CompletionStage<U> CompletionStage.applyToEitherAsync​(CompletionStage<? extends T> other, Function<? super T,​U> fn)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定された関数への引数に設定し、このステージのデフォルトの非同期実行機能を使用して実行される新しいCompletionStageを返します。
    <U> CompletionStage<U> CompletionStage.applyToEitherAsync​(CompletionStage<? extends T> other, Function<? super T,​U> fn, Executor executor)
    このステージまたは指定された他のステージが正常に完了したときに、対応する結果を指定されたアクションへの引数に設定し、指定されたエグゼキュータを使用して実行される新しいCompletionStageを返します。
    CompletableFuture<Void> CompletableFuture.runAfterBoth​(CompletionStage<?> other, Runnable action)  
    CompletionStage<Void> CompletionStage.runAfterBoth​(CompletionStage<?> other, Runnable action)
    このステージと指定された他のステージの両方が正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。
    CompletableFuture<Void> CompletableFuture.runAfterBothAsync​(CompletionStage<?> other, Runnable action)  
    CompletableFuture<Void> CompletableFuture.runAfterBothAsync​(CompletionStage<?> other, Runnable action, Executor executor)  
    CompletionStage<Void> CompletionStage.runAfterBothAsync​(CompletionStage<?> other, Runnable action)
    これと他のステージが両方とも正常に完了したときに、このステージのデフォルトの非同期実行機能を使用して、指定されたアクションを実行する新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.runAfterBothAsync​(CompletionStage<?> other, Runnable action, Executor executor)
    これと他のステージが両方とも正常に完了した場合に、指定されたアクションを指定されたエグゼキュータを使用して実行する新しいCompletionStageを返します。
    CompletableFuture<Void> CompletableFuture.runAfterEither​(CompletionStage<?> other, Runnable action)  
    CompletionStage<Void> CompletionStage.runAfterEither​(CompletionStage<?> other, Runnable action)
    このステージと指定された他のステージのどちらかが正常に完了したときに指定されたアクションを実行する新しいCompletionStageを返します。
    CompletableFuture<Void> CompletableFuture.runAfterEitherAsync​(CompletionStage<?> other, Runnable action)  
    CompletableFuture<Void> CompletableFuture.runAfterEitherAsync​(CompletionStage<?> other, Runnable action, Executor executor)  
    CompletionStage<Void> CompletionStage.runAfterEitherAsync​(CompletionStage<?> other, Runnable action)
    このステージと指定された他のステージのどちらかが正常に完了したときにこのステージのデフォルトの非同期実行機能を使用して指定されたアクションを実行する新しいCompletionStageを返します。
    CompletionStage<Void> CompletionStage.runAfterEitherAsync​(CompletionStage<?> other, Runnable action, Executor executor)
    このステージと指定された他のステージのどちらかが正常に完了したときに指定されたエグゼキュータを使用して指定されたアクションを実行する新しいCompletionStageを返します。
    <U> CompletableFuture<Void> CompletableFuture.thenAcceptBoth​(CompletionStage<? extends U> other, BiConsumer<? super T,​? super U> action)  
    <U> CompletionStage<Void> CompletionStage.thenAcceptBoth​(CompletionStage<? extends U> other, BiConsumer<? super T,​? super U> action)
    このステージと指定された他のステージの両方が正常終了した際に実行される新しいCompletionStageを返します(実行時には、指定されたアクションの引数として2つの結果が使用される)。
    <U> CompletableFuture<Void> CompletableFuture.thenAcceptBothAsync​(CompletionStage<? extends U> other, BiConsumer<? super T,​? super U> action)  
    <U> CompletableFuture<Void> CompletableFuture.thenAcceptBothAsync​(CompletionStage<? extends U> other, BiConsumer<? super T,​? super U> action, Executor executor)  
    <U> CompletionStage<Void> CompletionStage.thenAcceptBothAsync​(CompletionStage<? extends U> other, BiConsumer<? super T,​? super U> action)
    これと他のステージが両方とも正常に完了したときに、このステージのデフォルトの非同期実行ファシリティを使用して実行され、2つの結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。
    <U> CompletionStage<Void> CompletionStage.thenAcceptBothAsync​(CompletionStage<? extends U> other, BiConsumer<? super T,​? super U> action, Executor executor)
    これと他のステージが両方とも正常に完了したときに、指定されたエグゼキュータを使用して実行され、2つの結果が指定されたアクションの引数として実行される新しいCompletionStageを返します。
    <U,​ V> CompletionStage<V> CompletionStage.thenCombine​(CompletionStage<? extends U> other, BiFunction<? super T,​? super U,​? extends V> fn)
    このステージと指定された他のステージの両方が正常終了した際に実行される新しいCompletionStageを返します(実行時には、指定された関数の引数として2つの結果が使用される)。
    <U,​ V> CompletionStage<V> CompletionStage.thenCombineAsync​(CompletionStage<? extends U> other, BiFunction<? super T,​? super U,​? extends V> fn)
    このステージと他のステージが両方とも正常に完了したときに、このステージのデフォルトの非同期実行ファシリティを使用して実行され、2つの結果が指定された関数の引数として使用される新しいCompletionStageを返します。
    <U,​ V> CompletionStage<V> CompletionStage.thenCombineAsync​(CompletionStage<? extends U> other, BiFunction<? super T,​? super U,​? extends V> fn, Executor executor)
    これと他のステージが両方とも正常に完了したときに、指定された関数の引数として2つの結果を指定して、指定されたexecutorを使用して実行される新しいCompletionStageを返します。
    CompletionStage型の型引数を持つjava.util.concurrentのメソッド・パラメータ 
    修飾子と型 メソッド 説明
    default CompletionStage<T> CompletionStage.exceptionallyCompose​(Function<Throwable,​? extends CompletionStage<T>> fn)
    このステージが異常終了したときに、このステージ例外に適用された提供された関数の結果を使用して構成された、新しいCompletionStageを返します。
    default CompletionStage<T> CompletionStage.exceptionallyComposeAsync​(Function<Throwable,​? extends CompletionStage<T>> fn)
    このステージが異常終了したときに、このステージのデフォルトの非同期実行機能を使用して、このステージ例外に適用された提供関数の結果を使用して構成された新しいCompletionStageを返します。
    default CompletionStage<T> CompletionStage.exceptionallyComposeAsync​(Function<Throwable,​? extends CompletionStage<T>> fn, Executor executor)
    新しいCompletionStageを返します。このステージが例外的に完了すると、指定されたエグゼキュータを使用して、このステージ例外に適用された指定関数の結果を使用して構成されます。
    <U> CompletionStage<U> CompletionStage.thenCompose​(Function<? super T,​? extends CompletionStage<U>> fn)
    指定された関数から返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。
    <U> CompletionStage<U> CompletionStage.thenComposeAsync​(Function<? super T,​? extends CompletionStage<U>> fn)
    このステージのデフォルトの非同期実行機能を使用して実行された、指定された関数から返されたCompletionStageと同じ値で完了した新しいCompletionStageを返します。
    <U> CompletionStage<U> CompletionStage.thenComposeAsync​(Function<? super T,​? extends CompletionStage<U>> fn, Executor executor)
    指定されたExecutorによって返されたCompletionStageと同じ値で完了し、指定されたExecutorを使用して実行される新しいCompletionStageを返します。