public final class CompletableFutureUtils extends Object
CompletableFuture.| Modifier and Type | Method and Description |
|---|---|
static CompletableFuture<Void> |
allOfExceptionForwarded(CompletableFuture<?>[] futures)
Similar to
CompletableFuture.allOf(CompletableFuture[]), but
when any future is completed exceptionally, forwards the
exception to other futures. |
static CompletionException |
errorAsCompletionException(Throwable t)
Wraps the given error in a
CompletionException if necessary. |
static <U> CompletableFuture<U> |
failedFuture(Throwable t)
Convenience method for creating a future that is immediately completed
exceptionally with the given
Throwable. |
static <T> CompletableFuture<T> |
forwardExceptionTo(CompletableFuture<T> src,
CompletableFuture<?> dst)
Forward the
Throwable from src to dst. |
static <T> CompletableFuture<T> |
forwardResultTo(CompletableFuture<T> src,
CompletableFuture<T> dst)
Completes the
dst future based on the result of the src future asynchronously on
the provided Executor and return the src future. |
static <T> CompletableFuture<T> |
forwardResultTo(CompletableFuture<T> src,
CompletableFuture<T> dst,
Executor executor)
Completes the
dst future based on the result of the src future asynchronously on
the provided Executor and return the src future. |
static <T> CompletableFuture<T> |
forwardTransformedExceptionTo(CompletableFuture<T> src,
CompletableFuture<?> dst,
Function<Throwable,Throwable> transformationFunction)
Forward the
Throwable that can be transformed as per the transformationFunction
from src to dst. |
static <SourceT,DestT> |
forwardTransformedResultTo(CompletableFuture<SourceT> src,
CompletableFuture<DestT> dst,
Function<SourceT,DestT> function)
Completes the
dst future based on the result of the src future, synchronously, after applying the provided
transformation Function if successful. |
static <T> T |
joinInterruptibly(CompletableFuture<T> future) |
static void |
joinInterruptiblyIgnoringFailures(CompletableFuture<?> future) |
static <T> T |
joinLikeSync(CompletableFuture<T> future)
Joins (interruptibly) on the future, and re-throws any RuntimeExceptions or Errors just like the async task would have
thrown if it was executed synchronously.
|
public static <U> CompletableFuture<U> failedFuture(Throwable t)
Throwable.
Similar to CompletableFuture#failedFuture which was added in
Java 9.
U - The type of the element.t - The failure.public static CompletionException errorAsCompletionException(Throwable t)
CompletionException if necessary.
Useful if an exception needs to be rethrown from within CompletableFuture.handle(java.util.function.BiFunction) or similar
methods.t - The error.public static <T> CompletableFuture<T> forwardExceptionTo(CompletableFuture<T> src, CompletableFuture<?> dst)
Throwable from src to dst.src - The source of the Throwable.dst - The destination where the Throwable will be forwarded to.src.public static <T> CompletableFuture<T> forwardTransformedExceptionTo(CompletableFuture<T> src, CompletableFuture<?> dst, Function<Throwable,Throwable> transformationFunction)
Throwable that can be transformed as per the transformationFunction
from src to dst.src - The source of the Throwable.dst - The destination where the Throwable will be forwarded totransformationFunction - Transformation function taht will be applied on to the forwarded exception.public static <T> CompletableFuture<T> forwardResultTo(CompletableFuture<T> src, CompletableFuture<T> dst)
dst future based on the result of the src future asynchronously on
the provided Executor and return the src future.src - The source CompletableFuturedst - The destination where the Throwable or response will be forwarded to.src future.public static <T> CompletableFuture<T> forwardResultTo(CompletableFuture<T> src, CompletableFuture<T> dst, Executor executor)
dst future based on the result of the src future asynchronously on
the provided Executor and return the src future.src - The source CompletableFuturedst - The destination where the Throwable or response will be forwarded to.executor - the executor to complete the des futuresrc future.public static <SourceT,DestT> CompletableFuture<SourceT> forwardTransformedResultTo(CompletableFuture<SourceT> src, CompletableFuture<DestT> dst, Function<SourceT,DestT> function)
dst future based on the result of the src future, synchronously, after applying the provided
transformation Function if successful. If the function threw an exception, the destination
future will be completed exceptionally with that exception.src - The source CompletableFuturedst - The destination where the Throwable or transformed result will be forwarded to.src future.public static CompletableFuture<Void> allOfExceptionForwarded(CompletableFuture<?>[] futures)
CompletableFuture.allOf(CompletableFuture[]), but
when any future is completed exceptionally, forwards the
exception to other futures.futures - The futures.futures are.public static <T> T joinInterruptibly(CompletableFuture<T> future)
public static void joinInterruptiblyIgnoringFailures(CompletableFuture<?> future)
public static <T> T joinLikeSync(CompletableFuture<T> future)
Copyright © 2026. All rights reserved.