public class BlockingAwareFuture<T> extends CompletableFuture<T>
CompletableFuture that tracks whether the future or one of its descendants has been blocked on
a CompletableFuture.get() or CompletableFuture.join() call.CompletableFuture.AsynchronousCompletionTask| Constructor and Description |
|---|
BlockingAwareFuture() |
allOf, anyOf, cancel, complete, completedFuture, completeExceptionally, exceptionally, getNow, getNumberOfDependents, isCancelled, isCompletedExceptionally, isDone, obtrudeException, obtrudeValue, runAsync, runAsync, supplyAsync, supplyAsync, toCompletableFuture, toStringpublic boolean isBlocked()
public T get() throws InterruptedException, ExecutionException
get in interface Future<T>get in class CompletableFuture<T>InterruptedExceptionExecutionExceptionpublic T get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
get in interface Future<T>get in class CompletableFuture<T>InterruptedExceptionExecutionExceptionTimeoutExceptionpublic T join()
join in class CompletableFuture<T>public <U> CompletableFuture<U> thenApply(Function<? super T,? extends U> fn)
thenApply in interface CompletionStage<T>thenApply in class CompletableFuture<T>public <U> CompletableFuture<U> thenApplyAsync(Function<? super T,? extends U> fn)
thenApplyAsync in interface CompletionStage<T>thenApplyAsync in class CompletableFuture<T>public <U> CompletableFuture<U> thenApplyAsync(Function<? super T,? extends U> fn, Executor executor)
thenApplyAsync in interface CompletionStage<T>thenApplyAsync in class CompletableFuture<T>public CompletableFuture<Void> thenAccept(Consumer<? super T> action)
thenAccept in interface CompletionStage<T>thenAccept in class CompletableFuture<T>public CompletableFuture<Void> thenAcceptAsync(Consumer<? super T> action)
thenAcceptAsync in interface CompletionStage<T>thenAcceptAsync in class CompletableFuture<T>public CompletableFuture<Void> thenAcceptAsync(Consumer<? super T> action, Executor executor)
thenAcceptAsync in interface CompletionStage<T>thenAcceptAsync in class CompletableFuture<T>public CompletableFuture<Void> thenRun(Runnable action)
thenRun in interface CompletionStage<T>thenRun in class CompletableFuture<T>public CompletableFuture<Void> thenRunAsync(Runnable action)
thenRunAsync in interface CompletionStage<T>thenRunAsync in class CompletableFuture<T>public CompletableFuture<Void> thenRunAsync(Runnable action, Executor executor)
thenRunAsync in interface CompletionStage<T>thenRunAsync in class CompletableFuture<T>public <U,V> CompletableFuture<V> thenCombine(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)
thenCombine in interface CompletionStage<T>thenCombine in class CompletableFuture<T>public <U,V> CompletableFuture<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)
thenCombineAsync in interface CompletionStage<T>thenCombineAsync in class CompletableFuture<T>public <U,V> CompletableFuture<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn, Executor executor)
thenCombineAsync in interface CompletionStage<T>thenCombineAsync in class CompletableFuture<T>public <U> CompletableFuture<Void> thenAcceptBoth(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)
thenAcceptBoth in interface CompletionStage<T>thenAcceptBoth in class CompletableFuture<T>public <U> CompletableFuture<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)
thenAcceptBothAsync in interface CompletionStage<T>thenAcceptBothAsync in class CompletableFuture<T>public <U> CompletableFuture<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action, Executor executor)
thenAcceptBothAsync in interface CompletionStage<T>thenAcceptBothAsync in class CompletableFuture<T>public CompletableFuture<Void> runAfterBoth(CompletionStage<?> other, Runnable action)
runAfterBoth in interface CompletionStage<T>runAfterBoth in class CompletableFuture<T>public CompletableFuture<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action)
runAfterBothAsync in interface CompletionStage<T>runAfterBothAsync in class CompletableFuture<T>public CompletableFuture<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action, Executor executor)
runAfterBothAsync in interface CompletionStage<T>runAfterBothAsync in class CompletableFuture<T>public <U> CompletableFuture<U> applyToEither(CompletionStage<? extends T> other, Function<? super T,U> fn)
applyToEither in interface CompletionStage<T>applyToEither in class CompletableFuture<T>public <U> CompletableFuture<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T,U> fn)
applyToEitherAsync in interface CompletionStage<T>applyToEitherAsync in class CompletableFuture<T>public <U> CompletableFuture<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T,U> fn, Executor executor)
applyToEitherAsync in interface CompletionStage<T>applyToEitherAsync in class CompletableFuture<T>public CompletableFuture<Void> acceptEither(CompletionStage<? extends T> other, Consumer<? super T> action)
acceptEither in interface CompletionStage<T>acceptEither in class CompletableFuture<T>public CompletableFuture<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action)
acceptEitherAsync in interface CompletionStage<T>acceptEitherAsync in class CompletableFuture<T>public CompletableFuture<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor)
acceptEitherAsync in interface CompletionStage<T>acceptEitherAsync in class CompletableFuture<T>public CompletableFuture<Void> runAfterEither(CompletionStage<?> other, Runnable action)
runAfterEither in interface CompletionStage<T>runAfterEither in class CompletableFuture<T>public CompletableFuture<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action)
runAfterEitherAsync in interface CompletionStage<T>runAfterEitherAsync in class CompletableFuture<T>public CompletableFuture<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action, Executor executor)
runAfterEitherAsync in interface CompletionStage<T>runAfterEitherAsync in class CompletableFuture<T>public <U> CompletableFuture<U> thenCompose(Function<? super T,? extends CompletionStage<U>> fn)
thenCompose in interface CompletionStage<T>thenCompose in class CompletableFuture<T>public <U> CompletableFuture<U> thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn)
thenComposeAsync in interface CompletionStage<T>thenComposeAsync in class CompletableFuture<T>public <U> CompletableFuture<U> thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn, Executor executor)
thenComposeAsync in interface CompletionStage<T>thenComposeAsync in class CompletableFuture<T>public CompletableFuture<T> whenComplete(BiConsumer<? super T,? super Throwable> action)
whenComplete in interface CompletionStage<T>whenComplete in class CompletableFuture<T>public CompletableFuture<T> whenCompleteAsync(BiConsumer<? super T,? super Throwable> action)
whenCompleteAsync in interface CompletionStage<T>whenCompleteAsync in class CompletableFuture<T>public CompletableFuture<T> whenCompleteAsync(BiConsumer<? super T,? super Throwable> action, Executor executor)
whenCompleteAsync in interface CompletionStage<T>whenCompleteAsync in class CompletableFuture<T>public <U> CompletableFuture<U> handle(BiFunction<? super T,Throwable,? extends U> fn)
handle in interface CompletionStage<T>handle in class CompletableFuture<T>public <U> CompletableFuture<U> handleAsync(BiFunction<? super T,Throwable,? extends U> fn)
handleAsync in interface CompletionStage<T>handleAsync in class CompletableFuture<T>public <U> CompletableFuture<U> handleAsync(BiFunction<? super T,Throwable,? extends U> fn, Executor executor)
handleAsync in interface CompletionStage<T>handleAsync in class CompletableFuture<T>