Класс CompletableFuture<T>
- java.lang.Object
-
- java.util.concurrent.CompletableFuture<T>
- Все реализованные интерфейсы:
- CompletionStage<T>, Future<T>
public class CompletableFuture<T> extends Object implements Future<T>, CompletionStage<T>
A Future that may be explicitly completed (setting its value and status), and may be used as a CompletionStage, supporting dependent functions and actions that trigger upon its completion.
When two or more threads attempt to complete, completeExceptionally, or cancel a CompletableFuture, only one of them succeeds.
In addition to these and related methods for directly manipulating status and results, CompletableFuture implements interface CompletionStage with the following policies:
- Actions supplied for dependent completions of non-async methods may be performed by the thread that completes the current CompletableFuture, or by any other caller of a completion method.
- All async methods without an explicit Executor argument are performed using the
ForkJoinPool.commonPool()(unless it does not support a parallelism level of at least two, in which case, a new Thread is created to run each task). To simplify monitoring, debugging, and tracking, all generated asynchronous tasks are instances of the marker interfaceCompletableFuture.AsynchronousCompletionTask. - All CompletionStage methods are implemented independently of other public methods, so the behavior of one method is not impacted by overrides of others in subclasses.
CompletableFuture also implements Future with the following policies:
- Since (unlike
FutureTask) this class has no direct control over the computation that causes it to be completed, cancellation is treated as just another form of exceptional completion. Methodcancelhas the same effect ascompleteExceptionally(new CancellationException()). MethodisCompletedExceptionally()can be used to determine if a CompletableFuture completed in any exceptional fashion. - In case of exceptional completion with a CompletionException, methods
get()andget(long, TimeUnit)throw anExecutionExceptionwith the same cause as held in the corresponding CompletionException. To simplify usage in most contexts, this class also defines methodsjoin()andgetNow(T)that instead throw the CompletionException directly in these cases.
- Since:
- 1.8
Вложенные классы
| Модификатор и тип | Класс и описание |
|---|---|
static interface |
CompletableFuture.AsynchronousCompletionTask Маркерный интерфейс, определяющий асинхронные задачи, созданные методами |
Краткое описание конструкторов
| Конструктор и описание |
|---|
CompletableFuture() Создает новый незавершенный CompletableFuture. |
Краткое описание методов
| Модификатор и тип | Метод и описание |
|---|---|
CompletableFuture<Void> |
acceptEither(CompletionStage<? extends T> other,
Consumer<? super T> action) Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершатся нормально, выполняется с соответствующим результатом в качестве аргумента для предоставленной операции. |
CompletableFuture<Void> |
acceptEitherAsync(CompletionStage<? extends T> other,
Consumer<? super T> action) Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершатся нормально, выполняется с использованием стандартных асинхронных средств выполнения этого этапа, с соответствующим результатом в качестве аргумента для предоставленной операции. |
CompletableFuture<Void> |
acceptEitherAsync(CompletionStage<? extends T> other,
Consumer<? super T> action,
Executor executor) Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершатся нормально, выполняется с использованием предоставленного исполнителя, с соответствующим результатом в качестве аргумента для предоставленной функции. |
static CompletableFuture<Void> |
allOf(CompletableFuture<?>... cfs) Возвращает новый CompletableFuture, который завершается, когда все заданные CompletableFutures завершатся. |
static CompletableFuture<Object> |
anyOf(CompletableFuture<?>... cfs) Возвращает новый CompletableFuture, который завершается, когда любой из заданных CompletableFutures завершается, с тем же результатом. |
<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 с |
boolean |
complete(T value) Если ещё не завершён, устанавливает значение, возвращаемое |
static <U> CompletableFuture<U> |
completedFuture(U value) Возвращает новый CompletableFuture, уже завершённый заданным значением. |
boolean |
completeExceptionally(Throwable ex) Если ещё не завершён, заставляет вызовы |
CompletableFuture<T> |
exceptionally(Function<Throwable,? extends T> fn) Возвращает новый CompletableFuture, который завершается, когда этот CompletableFuture завершается, с результатом предоставленной функции исключения, вызывающего завершение этого CompletableFuture при возникновении исключения; в противном случае, если этот CompletableFuture завершается нормально, то возвращаемый CompletableFuture также завершается нормально с тем же значением. |
T |
get() Если необходимо, ожидает завершения этого будущего и возвращает его результат. |
T |
get(long timeout,
TimeUnit unit) Если необходимо, ожидает не более заданного времени завершения этого будущего и возвращает его результат, если он доступен. |
T |
getNow(T valueIfAbsent) Возвращает значение результата (или выводит любое возникшее исключение), если завершено, иначе возвращает значение valueIfAbsent. |
int |
getNumberOfDependents() Возвращает приблизительное количество CompletableFutures, ожидание завершения которых зависит от завершения этого 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 |
isCancelled() Возвращает |
boolean |
isCompletedExceptionally() Возвращает |
boolean |
isDone() Возвращает |
T |
join() Возвращает значение результата при завершении или выбрасывает (непроверенное) исключение, если завершился с исключением. |
void |
obtrudeException(Throwable ex) Принудительно заставляет последующие вызовы метода |
void |
obtrudeValue(T value) Принудительно устанавливает или сбрасывает значение, которое впоследствии возвращается методом |
CompletableFuture<Void> |
runAfterBoth(CompletionStage<?> other,
Runnable action) Возвращает новый CompletionStage, который, когда этот и другой заданный этап оба завершатся нормально, выполняет предоставленную операцию. |
CompletableFuture<Void> |
runAfterBothAsync(CompletionStage<?> other,
Runnable action) Возвращает новый CompletionStage, который, когда этот и другой заданный этап завершатся нормально, выполняет предоставленную операцию с использованием стандартных асинхронных средств выполнения этого этапа. |
CompletableFuture<Void> |
runAfterBothAsync(CompletionStage<?> other,
Runnable action,
Executor executor) Возвращает новый CompletionStage, который, когда этот и другой заданный этап завершатся нормально, выполняет предоставленную операцию с использованием предоставленного исполнителя. |
CompletableFuture<Void> |
runAfterEither(CompletionStage<?> other,
Runnable action) Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершатся нормально, выполняет предоставленную операцию. |
CompletableFuture<Void> |
runAfterEitherAsync(CompletionStage<?> other,
Runnable action) Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершатся нормально, выполняет предоставленную операцию с использованием стандартных асинхронных средств выполнения этого этапа. |
CompletableFuture<Void> |
runAfterEitherAsync(CompletionStage<?> other,
Runnable action,
Executor executor) Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершатся нормально, выполняет предоставленную операцию с использованием предоставленного исполнителя. |
static CompletableFuture<Void> |
runAsync(Runnable runnable) Возвращает новый CompletableFuture, который асинхронно завершается задачей, выполняемой в |
static CompletableFuture<Void> |
runAsync(Runnable runnable,
Executor executor) Возвращает новый CompletableFuture, который асинхронно завершается задачей, выполняемой в предоставленном исполнителе после выполнения предоставленной операции. |
static <U> CompletableFuture<U> |
supplyAsync(Supplier<U> supplier) Возвращает новый CompletableFuture, который асинхронно завершается задачей, выполняемой в |
static <U> CompletableFuture<U> |
supplyAsync(Supplier<U> supplier,
Executor executor) Возвращает новый CompletableFuture, который асинхронно завершается задачей, выполняемой в предоставленном исполнителе, со значением, полученным при вызове предоставленного Supplier. |
CompletableFuture<Void> |
thenAccept(Consumer<? super T> action) Возвращает новый CompletionStage, который, когда этот этап завершается нормально, выполняется с результатом этого этапа в качестве аргумента предоставленной операции. |
CompletableFuture<Void> |
thenAcceptAsync(Consumer<? super T> action) Возвращает новый CompletionStage, который, когда этот этап завершается нормально, выполняется с использованием стандартных асинхронных средств выполнения этого этапа, с результатом этого этапа в качестве аргумента предоставленной операции. |
CompletableFuture<Void> |
thenAcceptAsync(Consumer<? super T> action,
Executor executor) Возвращает новый CompletionStage, который, когда этот этап завершается нормально, выполняется с использованием предоставленного Executor, с результатом этого этапа в качестве аргумента предоставленной операции. |
<U> CompletableFuture<Void> |
thenAcceptBoth(CompletionStage<? extends U> other,
BiConsumer<? super T,? super U> action) Возвращает новый CompletionStage, который, когда этот и другой заданный этап оба завершатся нормально, выполняется с двумя результатами в качестве аргументов предоставленной операции. |
<U> CompletableFuture<Void> |
thenAcceptBothAsync(CompletionStage<? extends U> other,
BiConsumer<? super T,? super U> action) Возвращает новый CompletionStage, который, когда этот и другой заданный этап завершатся нормально, выполняется с использованием стандартных асинхронных средств выполнения этого этапа, с двумя результатами в качестве аргументов предоставленной операции. |
<U> CompletableFuture<Void> |
thenAcceptBothAsync(CompletionStage<? extends U> other,
BiConsumer<? super T,? super U> action,
Executor executor) Возвращает новый CompletionStage, который, когда этот и другой заданный этап завершатся нормально, выполняется с использованием предоставленного исполнителя, с двумя результатами в качестве аргументов предоставленной функции. |
<U> CompletableFuture<U> |
thenApply(Function<? super T,? extends U> fn) Возвращает новый 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, которая, когда эта фаза завершается нормально, выполняется с помощью предоставленного Executor, при этом результат этой фазы используется как аргумент для предоставленной функции. |
<U,V> CompletableFuture<V> |
thenCombine(CompletionStage<? extends U> other,
BiFunction<? super T,? super U,? extends V> fn) Возвращает новую CompletionStage, которая, когда эта и другая указанная фаза завершаются нормально, выполняется с двумя результатами в качестве аргументов предоставленной функции. |
<U,V> CompletableFuture<V> |
thenCombineAsync(CompletionStage<? extends U> other,
BiFunction<? super T,? super U,? extends V> fn) Возвращает новую CompletionStage, которая, когда эта и другая указанная фаза завершаются нормально, выполняется с помощью стандартного асинхронного механизма выполнения этой фазы с двумя результатами в качестве аргументов предоставленной функции. |
<U,V> CompletableFuture<V> |
thenCombineAsync(CompletionStage<? extends U> other,
BiFunction<? super T,? super U,? extends V> fn,
Executor executor) Возвращает новую CompletionStage, которая, когда эта и другая указанная фаза завершаются нормально, выполняется с использованием предоставленного исполнителя, с двумя результатами в качестве аргументов предоставленной функции. |
<U> CompletableFuture<U> |
thenCompose(Function<? super T,? extends CompletionStage<U>> fn) Возвращает новую CompletionStage, которая, когда эта фаза завершается нормально, выполняется с этой фазой в качестве аргумента предоставленной функции. |
<U> CompletableFuture<U> |
thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn) Возвращает новую CompletionStage, которая, когда эта фаза завершается нормально, выполняется с помощью стандартного асинхронного механизма выполнения этой фазы с этой фазой в качестве аргумента предоставленной функции. |
<U> CompletableFuture<U> |
thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn,
Executor executor) Возвращает новую CompletionStage, которая, когда эта фаза завершается нормально, выполняется с помощью предоставленного Executor, при этом результат этой фазы используется как аргумент для предоставленной функции. |
CompletableFuture<Void> |
thenRun(Runnable action) Возвращает новую CompletionStage, которая, когда эта фаза завершается нормально, выполняет заданное действие. |
CompletableFuture<Void> |
thenRunAsync(Runnable action) Возвращает новую CompletionStage, которая, когда эта фаза завершается нормально, выполняет заданное действие с использованием стандартного асинхронного механизма выполнения этой фазы. |
CompletableFuture<Void> |
thenRunAsync(Runnable action,
Executor executor) Возвращает новую CompletionStage, которая, когда эта фаза завершается нормально, выполняет заданное действие с использованием предоставленного Executor. |
CompletableFuture<T> |
toCompletableFuture() Возвращает этот CompletableFuture. |
String |
toString() Возвращает строку, идентифицирующую этот CompletableFuture, а также его состояние завершения. |
CompletableFuture<T> |
whenComplete(BiConsumer<? super T,? super Throwable> action) Возвращает новую CompletionStage с тем же результатом или исключением, что и эта фаза, которая выполняет заданное действие, когда эта фаза завершается. |
CompletableFuture<T> |
whenCompleteAsync(BiConsumer<? super T,? super Throwable> action) Возвращает новую CompletionStage с тем же результатом или исключением, что и эта фаза, которая выполняет заданное действие с использованием стандартного асинхронного механизма выполнения этой фазы, когда эта фаза завершается. |
CompletableFuture<T> |
whenCompleteAsync(BiConsumer<? super T,? super Throwable> action,
Executor executor) Возвращает новую CompletionStage с тем же результатом или исключением, что и эта фаза, которая выполняет заданное действие с использованием предоставленного Executor, когда эта фаза завершается. |
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Конструкторы
CompletableFuture
public CompletableFuture()
Создаёт новый незавершенный CompletableFuture.
Методы
supplyAsync
public static <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier)
Возвращает новый CompletableFuture, асинхронно завершённый задачей, выполняемой в ForkJoinPool.commonPool(), со значением, полученным путём вызова заданного Supplier.
- Параметры типа:
-
U- тип возвращаемого значения функции - Параметры:
-
supplier- функция, возвращающая значение, используемое для завершения возвращаемого CompletableFuture - Возвращаемое значение:
- новый CompletableFuture
supplyAsync
public static <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier,
Executor executor) Возвращает новый CompletableFuture, асинхронно завершённый задачей, выполняемой в заданном исполнителе, со значением, полученным путём вызова заданного Supplier.
- Параметры типа:
-
U- тип возвращаемого значения функции - Параметры:
-
supplier- функция, возвращающая значение, используемое для завершения возвращаемого CompletableFuture -
executor- исполнитель, используемый для асинхронного выполнения - Возвращаемое значение:
- новый CompletableFuture
runAsync
public static CompletableFuture<Void> runAsync(Runnable runnable)
Возвращает новый CompletableFuture, асинхронно завершённый задачей, выполняемой в ForkJoinPool.commonPool() после выполнения заданного действия.
- Параметры:
-
runnable- действие, которое выполняется перед завершением возвращаемого CompletableFuture - Возвращаемое значение:
- новый CompletableFuture
runAsync
public static CompletableFuture<Void> runAsync(Runnable runnable,
Executor executor) Возвращает новый CompletableFuture, асинхронно завершённый задачей, выполняемой в заданном исполнителе после выполнения заданного действия.
- Параметры:
-
runnable- действие, которое выполняется перед завершением возвращаемого CompletableFuture -
executor- исполнитель, используемый для асинхронного выполнения - Возвращаемое значение:
- новый CompletableFuture
completedFuture
public static <U> CompletableFuture<U> completedFuture(U value)
Возвращает новый CompletableFuture, который уже завершён заданным значением.
- Параметры типа:
-
U- тип значения - Параметры:
-
value- значение - Возвращаемое значение:
- завершенный CompletableFuture
isDone
public boolean isDone()
Возвращает true , если завершено каким-либо способом: обычно, по исключению или через отмену.
get
public T get()
throws InterruptedException,
ExecutionException Ждёт, если необходимо, пока этот future не завершится, а затем возвращает его результат.
- Определено в:
-
getв интерфейсеFuture<T> - Возвращаемое значение:
- значение результата
- Исключения:
-
CancellationException- если этот future был отменён -
ExecutionException- если этот future завершился по исключению -
InterruptedException- если текущий поток был прерван во время ожидания
get
public T get(long timeout,
TimeUnit unit)
throws InterruptedException,
ExecutionException,
TimeoutException Ждёт, если необходимо, не более заданного времени, пока этот future не завершится, а затем возвращает его результат, если он доступен.
- Определено в:
-
getв интерфейсеFuture<T> - Параметры:
-
timeout- максимальное время ожидания -
unit- единица измерения времени аргумента таймаута - Возвращаемое значение:
- значение результата
- Исключения:
-
CancellationException- если этот future был отменён -
ExecutionException- если этот future завершился по исключению -
InterruptedException- если текущий поток был прерван во время ожидания -
TimeoutException- если ожидание истекло
join
public T join()
Возвращает значение результата при завершении или выбрасывает (непроверенное) исключение, если завершение произошло по исключению. Для лучшего соответствия использованию общих функциональных форм, если вычисление, участвовавшее в завершении этого CompletableFuture, вызвало исключение, этот метод выбрасывает (непроверенное) CompletionException с базовым исключением в качестве причины.
- Возвращаемое значение:
- значение результата
- Исключения:
-
CancellationException- если вычисление было отменено -
CompletionException- если этот future завершился по исключению или вычисление завершения вызвало исключение
getNow
public T getNow(T valueIfAbsent)
Возвращает значение результата (или выбрасывает любое возникшее исключение), если завершено, иначе возвращает заданное valueIfAbsent.
- Параметры:
-
valueIfAbsent- значение, возвращаемое, если не завершено - Возвращаемое значение:
- значение результата, если завершено, иначе заданное valueIfAbsent
- Исключения:
-
CancellationException- если вычисление было отменено -
CompletionException- если этот future завершился по исключению или вычисление завершения вызвало исключение
complete
public boolean complete(T value)
Если ещё не завершено, устанавливает значение, возвращаемое get() и связанными методами, до заданного значения.
- Параметры:
-
value- значение результата - Возвращаемое значение:
-
trueесли это вызов вызвал переход этого CompletableFuture в состояние завершения, иначеfalse
completeExceptionally
public boolean completeExceptionally(Throwable ex)
Если ещё не завершено, вызывает вызовы get() и связанных методов, чтобы выбросить заданное исключение.
- Параметры:
-
ex- исключение - Возвращаемое значение:
-
trueесли этот вызов вызвал переход этого CompletableFuture в состояние завершения, иначеfalse
thenApply
public <U> CompletableFuture<U> thenApply(Function<? super T,? extends U> fn)
Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, когда этот этап завершается нормально, выполняется с результатом этого этапа в качестве аргумента для предоставленной функции. См. документацию 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, который, когда этот этап завершается нормально, выполняется с помощью предоставленного Executor, с результатом этого этапа в качестве аргумента для предоставленной функции. См. документацию 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, который, когда этот этап завершается нормально, выполняется с помощью предоставленного Executor, с результатом этого этапа в качестве аргумента для предоставленного действия. См. документацию 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
Возвращает новый CompletionStage, который, при нормальном завершении этого этапа, выполняет заданное действие, используя предоставленный Executor. См. документацию 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, который, при нормальном завершении этого и другого заданного этапа, выполняется с двумя результатами в качестве аргументов предоставленной функции. См. документацию CompletionStage для правил, охватывающих исключительное завершение.
- Указано в:
-
thenCombineв интерфейсеCompletionStage<T> - Параметры типа:
-
U- тип результата другого CompletionStage -
V- тип возвращаемого значения функции - Параметры:
-
other- другой CompletionStage -
fn- функция, используемая для вычисления значения возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
thenCombineAsync
public <U,V> CompletableFuture<V> thenCombineAsync(CompletionStage<? extends U> other,
BiFunction<? super T,? super U,? extends V> fn) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняется, используя стандартное асинхронное средство выполнения этого этапа, с двумя результатами в качестве аргументов предоставленной функции. См. документацию CompletionStage для правил, охватывающих исключительное завершение.
- Указано в:
-
thenCombineAsyncв интерфейсеCompletionStage<T> - Параметры типа:
-
U- тип результата другого CompletionStage -
V- тип возвращаемого значения функции - Параметры:
-
other- другой CompletionStage -
fn- функция, используемая для вычисления значения возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
thenCombineAsync
public <U,V> CompletableFuture<V> thenCombineAsync(CompletionStage<? extends U> other,
BiFunction<? super T,? super U,? extends V> fn,
Executor executor) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняется, используя предоставленный планировщик, с двумя результатами в качестве аргументов предоставленной функции. См. документацию CompletionStage для правил, охватывающих исключительное завершение.
- Указано в:
-
thenCombineAsyncв интерфейсеCompletionStage<T> - Параметры типа:
-
U- тип результата другого CompletionStage -
V- тип возвращаемого значения функции - Параметры:
-
other- другой CompletionStage -
fn- функция, используемая для вычисления значения возвращаемого CompletionStage -
executor- планировщик, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
thenAcceptBoth
public <U> CompletableFuture<Void> thenAcceptBoth(CompletionStage<? extends U> other,
BiConsumer<? super T,? super U> action) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняется с двумя результатами в качестве аргументов предоставленного действия. См. документацию CompletionStage для правил, охватывающих исключительное завершение.
- Указано в:
-
thenAcceptBothв интерфейсеCompletionStage<T> - Параметры типа:
-
U- тип результата другого CompletionStage - Параметры:
-
other- другой CompletionStage -
action- действие, выполняемое перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
thenAcceptBothAsync
public <U> CompletableFuture<Void> thenAcceptBothAsync(CompletionStage<? extends U> other,
BiConsumer<? super T,? super U> action) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняется, используя стандартное асинхронное средство выполнения этого этапа, с двумя результатами в качестве аргументов предоставленного действия.
- Указано в:
-
thenAcceptBothAsyncв интерфейсеCompletionStage<T> - Параметры типа:
-
U- тип результата другого CompletionStage - Параметры:
-
other- другой CompletionStage -
action- действие, выполняемое перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
thenAcceptBothAsync
public <U> CompletableFuture<Void> thenAcceptBothAsync(CompletionStage<? extends U> other,
BiConsumer<? super T,? super U> action,
Executor executor) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняется, используя предоставленный планировщик, с двумя результатами в качестве аргументов предоставленной функции.
- Указано в:
-
thenAcceptBothAsyncв интерфейсеCompletionStage<T> - Параметры типа:
-
U- тип результата другого CompletionStage - Параметры:
-
other- другой CompletionStage -
action- действие, выполняемое перед завершением возвращаемого CompletionStage -
executor- планировщик, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
runAfterBoth
public CompletableFuture<Void> runAfterBoth(CompletionStage<?> other,
Runnable action) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняет заданное действие. См. документацию CompletionStage для правил, охватывающих исключительное завершение.
- Указано в:
-
runAfterBothв интерфейсеCompletionStage<T> - Параметры:
-
other- другой CompletionStage -
action- действие, выполняемое перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
runAfterBothAsync
public CompletableFuture<Void> runAfterBothAsync(CompletionStage<?> other,
Runnable action) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняет заданное действие, используя стандартное асинхронное средство выполнения этого этапа. См. документацию CompletionStage для правил, охватывающих исключительное завершение.
- Указано в:
-
runAfterBothAsyncв интерфейсеCompletionStage<T> - Параметры:
-
other- другой CompletionStage -
action- действие, выполняемое перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
runAfterBothAsync
public CompletableFuture<Void> runAfterBothAsync(CompletionStage<?> other,
Runnable action,
Executor executor) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняет заданное действие, используя предоставленный планировщик. См. документацию CompletionStage для правил, охватывающих исключительное завершение.
- Указано в:
-
runAfterBothAsyncв интерфейсеCompletionStage<T> - Параметры:
-
other- другой CompletionStage -
action- действие, выполняемое перед завершением возвращаемого 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- другой CompletionStage -
fn- функция, используемая для вычисления значения возвращаемого 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- другой CompletionStage -
fn- функция, используемая для вычисления значения возвращаемого 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- другой CompletionStage -
fn- функция, используемая для вычисления значения возвращаемого CompletionStage -
executor- исполнитель, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
acceptEither
public CompletableFuture<Void> acceptEither(CompletionStage<? extends T> other,
Consumer<? super T> action) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершаются нормально, выполняется с соответствующим результатом в качестве аргумента для предоставленного действия. См. документацию CompletionStage для правил, относящихся к исключительному завершению.
- Указано в:
-
acceptEitherв интерфейсеCompletionStage<T> - Параметры:
-
other- другой CompletionStage -
action- действие, выполняемое перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
acceptEitherAsync
public CompletableFuture<Void> acceptEitherAsync(CompletionStage<? extends T> other,
Consumer<? super T> action) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершаются нормально, выполняется с использованием стандартного средства асинхронного выполнения этого этапа с соответствующим результатом в качестве аргумента для предоставленного действия. См. документацию CompletionStage для правил, относящихся к исключительному завершению.
- Указано в:
-
acceptEitherAsyncв интерфейсеCompletionStage<T> - Параметры:
-
other- другой CompletionStage -
action- действие, выполняемое перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
acceptEitherAsync
public CompletableFuture<Void> acceptEitherAsync(CompletionStage<? extends T> other,
Consumer<? super T> action,
Executor executor) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершаются нормально, выполняется с использованием предоставленного исполнителя с соответствующим результатом в качестве аргумента для предоставленной функции. См. документацию CompletionStage для правил, относящихся к исключительному завершению.
- Указано в:
-
acceptEitherAsyncв интерфейсеCompletionStage<T> - Параметры:
-
other- другой CompletionStage -
action- действие, выполняемое перед завершением возвращаемого CompletionStage -
executor- исполнитель, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
runAfterEither
public CompletableFuture<Void> runAfterEither(CompletionStage<?> other,
Runnable action) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершаются нормально, выполняет данное действие. См. документацию CompletionStage для правил, относящихся к исключительному завершению.
- Указано в:
-
runAfterEitherв интерфейсеCompletionStage<T> - Параметры:
-
other- другой CompletionStage -
action- действие, выполняемое перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
runAfterEitherAsync
public CompletableFuture<Void> runAfterEitherAsync(CompletionStage<?> other,
Runnable action) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершаются нормально, выполняет данное действие с использованием стандартного средства асинхронного выполнения этого этапа. См. документацию CompletionStage для правил, относящихся к исключительному завершению.
- Указано в:
-
runAfterEitherAsyncв интерфейсеCompletionStage<T> - Параметры:
-
other- другой CompletionStage -
action- действие, выполняемое перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
runAfterEitherAsync
public CompletableFuture<Void> runAfterEitherAsync(CompletionStage<?> other,
Runnable action,
Executor executor) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершаются нормально, выполняет данное действие с использованием предоставленного исполнителя. См. документацию CompletionStage для правил, относящихся к исключительному завершению.
- Указано в:
-
runAfterEitherAsyncв интерфейсеCompletionStage<T> - Параметры:
-
other- другой CompletionStage -
action- действие, выполняемое перед завершением возвращаемого CompletionStage -
executor- исполнитель, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
thenCompose
public <U> CompletableFuture<U> thenCompose(Function<? super T,? extends CompletionStage<U>> fn)
Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage, который, когда этот этап завершается нормально, выполняется с этим этапом в качестве аргумента для предоставленной функции. См. документацию 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 для правил, относящихся к исключительному завершению.
- Указано в:
-
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, который, когда этот этап завершается нормально, выполняется с использованием предоставленного Executor с результатом этого этапа в качестве аргумента для предоставленной функции. См. документацию 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 если его нет) этого этапа в качестве аргументов. Возвращаемый этап завершается, когда действие возвращается. Если само предоставленное действие сталкивается с исключением, то возвращаемый этап завершается с этим исключением, если только этот этап также не завершился с исключением.
- Указано в:
-
whenCompleteв интерфейсеCompletionStage<T> - Параметры:
-
action- действие для выполнения - Возвращает:
- новый CompletionStage
whenCompleteAsync
public CompletableFuture<T> whenCompleteAsync(BiConsumer<? super T,? super Throwable> action)
Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage с тем же результатом или исключением, что и этот этап, который выполняет заданное действие с помощью стандартного асинхронного механизма выполнения этого этапа, когда этот этап завершается.
Когда этот этап завершен, заданное действие вызывается с результатом (или null если его нет) и исключением (или null если его нет) этого этапа в качестве аргументов. Возвращаемый этап завершается, когда действие возвращает значение. Если само предоставленное действие сталкивается с исключением, то возвращаемый этап завершается с этим исключением, если только этот этап не завершился исключением.
- Указано в:
-
whenCompleteAsyncв интерфейсеCompletionStage<T> - Параметры:
-
action- действие для выполнения - Возвращает:
- новый CompletionStage
whenCompleteAsync
public CompletableFuture<T> whenCompleteAsync(BiConsumer<? super T,? super Throwable> action,
Executor executor) Описание скопировано из интерфейса: CompletionStage
Возвращает новый CompletionStage с тем же результатом или исключением, что и этот этап, который выполняет заданное действие с помощью предоставленного Executor, когда этот этап завершается.
Когда этот этап завершен, заданное действие вызывается с результатом (или null если его нет) и исключением (или null если его нет) этого этапа в качестве аргументов. Возвращаемый этап завершается, когда действие возвращает значение. Если само предоставленное действие сталкивается с исключением, то возвращаемый этап завершается с этим исключением, если только этот этап не завершился исключением.
- Указано в:
-
whenCompleteAsyncв интерфейсеCompletionStage<T> - Параметры:
-
action- действие для выполнения -
executor- 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, который, когда этот этап завершается нормально или с исключением, выполняется с использованием предоставленного executor, с результатом и исключением этого этапа в качестве аргументов для предоставленной функции.
Когда этот этап завершен, заданная функция вызывается с результатом (или null если его нет) и исключением (или null если его нет) этого этапа в качестве аргументов, и результат функции используется для завершения возвращаемого этапа.
- Указано в:
-
handleAsyncв интерфейсеCompletionStage<T> - Типы параметров:
-
U- тип возвращаемого значения функции - Параметры:
-
fn- функция для вычисления значения возвращаемого CompletionStage -
executor- executor для использования при асинхронном выполнении - Возвращает:
- новый CompletionStage
toCompletableFuture
public CompletableFuture<T> toCompletableFuture()
Возвращает этот CompletableFuture.
- Указано в:
-
toCompletableFutureв интерфейсеCompletionStage<T> - Возвращает:
- этот CompletableFuture
exceptionally
public CompletableFuture<T> exceptionally(Function<Throwable,? extends T> fn)
Возвращает новый CompletableFuture, который завершается, когда этот CompletableFuture завершается, с результатом заданной функции исключения, вызывающего завершение этого CompletableFuture при завершении с исключением; в противном случае, если этот CompletableFuture завершается нормально, то возвращаемый CompletableFuture также завершается нормально с тем же значением. Примечание: более гибкие версии этой функциональности доступны с помощью методов whenComplete и handle.
- Указано в:
-
exceptionallyв интерфейсеCompletionStage<T> - Параметры:
-
fn- функция для вычисления значения возвращаемого CompletableFuture, если этот CompletableFuture завершился с исключением - Возвращает:
- новый CompletableFuture
allOf
public static CompletableFuture<Void> allOf(CompletableFuture<?>... cfs)
Возвращает новый CompletableFuture, который завершается, когда все заданные CompletableFutures завершаются. Если любой из заданных CompletableFutures завершается с исключением, то возвращаемый CompletableFuture также делает это, с CompletionException, содержащим это исключение в качестве причины. В противном случае результаты, если таковые имеются, заданных CompletableFutures не отображаются в возвращаемом CompletableFuture, но могут быть получены путем их отдельного просмотра. Если заданных CompletableFutures нет, возвращает CompletableFuture, завершенный значением null.
Одно из применений этого метода - ожидание завершения набора независимых CompletableFutures перед продолжением программы, как в: CompletableFuture.allOf(c1, c2,
c3).join();.
- Параметры:
-
cfs- CompletableFutures - Возвращает:
- новый CompletableFuture, который завершается, когда все заданные CompletableFutures завершаются
- Вызывает исключение:
-
NullPointerException- если массив или любой из его элементов являютсяnull
anyOf
public static CompletableFuture<Object> anyOf(CompletableFuture<?>... cfs)
Возвращает новый CompletableFuture, который завершается, когда любой из заданных CompletableFutures завершается, с тем же результатом. В противном случае, если завершение произошло с исключением, возвращаемый CompletableFuture также делает это, с CompletionException, содержащим это исключение в качестве причины. Если CompletableFutures не заданы, возвращает незавершенный CompletableFuture.
- Параметры:
-
cfs- CompletableFutures - Возвращает:
- новый CompletableFuture, который завершается результатом или исключением любого из заданных CompletableFutures при завершении одного из них
- Вызывает исключение:
-
NullPointerException- если массив или любой из его элементов являютсяnull
cancel
public boolean cancel(boolean mayInterruptIfRunning)
Если CompletableFuture еще не завершен, завершает этот CompletableFuture с CancellationException. Зависимые CompletableFutures, которые еще не завершены, также завершатся с исключением, с CompletionException, вызванной этим CancellationException.
- Указано в:
-
cancelв интерфейсеFuture<T> - Параметры:
-
mayInterruptIfRunning- это значение не влияет на эту реализацию, так как прерывания не используются для управления обработкой. - Возвращает:
-
trueесли эта задача теперь отменена
isCancelled
public boolean isCancelled()
Возвращает true если этот CompletableFuture был отменён до нормального завершения.
- Указано в:
-
isCancelledв интерфейсеFuture<T> - Возвращает:
-
trueесли этот CompletableFuture был отменён до нормального завершения
isCompletedExceptionally
public boolean isCompletedExceptionally()
Возвращает true если этот CompletableFuture завершился с исключением каким-либо способом. Возможные причины включают отмену, явное вызов completeExceptionally, и внезапное завершение действия CompletionStage.
- Возвращает:
-
trueесли этот CompletableFuture завершился с исключением
obtrudeValue
public void obtrudeValue(T value)
Принудительно устанавливает или сбрасывает значение, которое впоследствии возвращается методом get() и родственные методы, независимо от того, завершен ли он уже или нет. Этот метод предназначен только для использования в действиях восстановления ошибок, и даже в таких ситуациях может привести к продолжению зависимых завершений с использованием установленных или перезаписанных результатов.
- Параметры:
-
value- значение завершения
obtrudeException
public void obtrudeException(Throwable ex)
Принудительно заставляет последующие вызовы метода get() и родственных методов выбрасывать данное исключение, независимо от того, завершен ли он уже или нет. Этот метод предназначен только для использования в действиях восстановления ошибок, и даже в таких ситуациях может привести к продолжению зависимых завершений с использованием установленных или перезаписанных результатов.
- Параметры:
-
ex- исключение - Вызывает исключение:
-
NullPointerException- если исключение равно null
getNumberOfDependents
public int getNumberOfDependents()
Возвращает приблизительное количество CompletableFutures, завершения которых ожидают завершения этого CompletableFuture. Этот метод предназначен для мониторинга состояния системы, а не для управления синхронизацией.
- Возвращает:
- количество зависимых CompletableFutures
toString
public String toString()
Возвращает строку, идентифицирующую этот CompletableFuture, а также его состояние завершения. Состояние, в скобках, содержит строку "Completed Normally" или строку "Completed Exceptionally", или строку "Not
completed", за которой следует количество CompletableFutures, зависящих от его завершения, если таковые имеются.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.