Spec-Zone.ru › OpenJDK 8

Интерфейс CompletionStage<T>

Все известные реализующие классы:
CompletableFuture

public interface CompletionStage<T>

Этап потенциально асинхронного вычисления, который выполняет действие или вычисляет значение при завершении другого CompletionStage. Этап завершается при завершении его вычисления, но это, в свою очередь, может инициировать другие зависимые этапы. Функциональность, определенная в этом интерфейсе, имеет всего несколько основных форм, которые расширяются до большего набора методов для захвата различных стилей использования:

  • Вычисление, выполняемое этапом, может быть выражено как Function, Consumer или Runnable (используя методы с именами, включающими apply, accept или run соответственно), в зависимости от того, требует ли он аргументов и/или генерирует результаты. Например, stage.thenApply(x -> square(x)).thenAccept(x -> System.out.print(x)).thenRun(() -> System.out.println()). Дополнительная форма (compose) применяет функции самих этапов, а не их результатов.
  • Выполнение одного этапа может быть инициировано завершением одного этапа, или обоих двух этапов, или любого из двух этапов. Зависимости от одного этапа организованы с использованием методов с префиксом then. Те, которые инициируются завершением обоих двух этапов, могут combine свои результаты или эффекты, используя соответствующие методы. Те, которые инициируются любым из двух этапов, не гарантируют, какой из результатов или эффектов используется для вычисления зависимого этапа.
  • Зависимости между этапами контролируют инициирование вычислений, но при этом не гарантируют никакой конкретной последовательности. Кроме того, выполнение вычислений нового этапа может быть организовано тремя способами: выполнение по умолчанию, асинхронное выполнение по умолчанию (используя методы с суффиксом async, которые используют стандартный асинхронный механизм этапа) или пользовательское (через предоставленный Executor). Свойства выполнения режимов по умолчанию и async задаются реализациями CompletionStage, а не этим интерфейсом. Методы с явными аргументами Executor могут иметь произвольные свойства выполнения и даже могут не поддерживать одновременное выполнение, но организованы для обработки с учетом асинхронности.
  • Две формы методов поддерживают обработку того, завершился ли запускающий этап нормально или с исключением: Метод whenComplete позволяет ввести действие независимо от результата, в противном случае сохраняя результат в его завершении. Метод handle дополнительно позволяет этапу вычислить заменяющий результат, который может позволить дальнейшую обработку другими зависимыми этапами. Во всех остальных случаях, если вычисление этапа прерывается неожиданным исключением или ошибкой, все зависимые этапы, требующие его завершения, завершаются с исключением также, с CompletionException, содержащим исключение как его причину. Если этап зависит от обоих двух этапов, и оба завершаются с исключением, то CompletionException может соответствовать любому из этих исключений. Если этап зависит от любого из двух других, и только один из них завершается с исключением, никакие гарантии не даются относительно того, завершается ли зависимый этап нормально или с исключением. В случае метода whenComplete, когда само предоставленное действие сталкивается с исключением, то этап завершается с этим исключением, если он еще не завершился с исключением.

Все методы следуют вышеупомянутым спецификациям запуска, выполнения и завершения с исключением (которые не повторяются в отдельных спецификациях методов). Кроме того, хотя аргументы, используемые для передачи результата завершения (то есть для параметров типа T) для методов, принимающих их, могут быть null, передача значения null для любого другого параметра приведет к тому, что будет брошено NullPointerException.

Данный интерфейс не определяет методы для первоначального создания, принудительного завершения нормально или с исключением, проверки статуса или результатов завершения или ожидания завершения этапа. Реализации CompletionStage могут предоставить средства для достижения таких эффектов, если это уместно. Метод toCompletableFuture() обеспечивает межпрактическую совместимость между различными реализациями данного интерфейса, предоставляя общий тип преобразования.

Since:
1.8

Методы

Модификатор и тип Метод и описание
CompletionStage<Void> acceptEither(CompletionStage<? extends T> other, Consumer<? super T> action)

Возвращает новую CompletionStage, которая, при нормальном завершении этой или другой заданной стадии, выполняется с соответствующим результатом в качестве аргумента для предоставленного действия.

CompletionStage<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action)

Возвращает новую CompletionStage, которая, при нормальном завершении этой или другой заданной стадии, выполняется с использованием стандартной асинхронной среды выполнения этой стадии, с соответствующим результатом в качестве аргумента для предоставленного действия.

CompletionStage<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor)

Возвращает новую CompletionStage, которая, при нормальном завершении этой или другой заданной стадии, выполняется с использованием предоставленного исполнителя, с соответствующим результатом в качестве аргумента для предоставленной функции.

<U> CompletionStage<U> applyToEither(CompletionStage<? extends T> other, Function<? super T,U> fn)

Возвращает новую CompletionStage, которая, при нормальном завершении этой или другой заданной стадии, выполняется с соответствующим результатом в качестве аргумента для предоставленной функции.

<U> CompletionStage<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T,U> fn)

Возвращает новую CompletionStage, которая, при нормальном завершении этой или другой заданной стадии, выполняется с использованием стандартной асинхронной среды выполнения этой стадии, с соответствующим результатом в качестве аргумента для предоставленной функции.

<U> CompletionStage<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T,U> fn, Executor executor)

Возвращает новую CompletionStage, которая, при нормальном завершении этой или другой заданной стадии, выполняется с использованием предоставленного исполнителя, с соответствующим результатом в качестве аргумента для предоставленной функции.

CompletionStage<T> exceptionally(Function<Throwable,? extends T> fn)

Возвращает новую CompletionStage, которая, при исключительном завершении этой стадии, выполняется с исключением этой стадии в качестве аргумента для предоставленной функции.

<U> CompletionStage<U> handle(BiFunction<? super T,Throwable,? extends U> fn)

Возвращает новую CompletionStage, которая, при завершении этой стадии (нормальном или исключительном), выполняется с результатом и исключением этой стадии в качестве аргументов для предоставленной функции.

<U> CompletionStage<U> handleAsync(BiFunction<? super T,Throwable,? extends U> fn)

Возвращает новую CompletionStage, которая, при завершении этой стадии (нормальном или исключительном), выполняется с использованием стандартной асинхронной среды выполнения этой стадии, с результатом и исключением этой стадии в качестве аргументов для предоставленной функции.

<U> CompletionStage<U> handleAsync(BiFunction<? super T,Throwable,? extends U> fn, Executor executor)

Возвращает новую CompletionStage, которая, при завершении этой стадии (нормальном или исключительном), выполняется с использованием предоставленного исполнителя, с результатом и исключением этой стадии в качестве аргументов для предоставленной функции.

CompletionStage<Void> runAfterBoth(CompletionStage<?> other, Runnable action)

Возвращает новую CompletionStage, которая, при нормальном завершении этой и другой заданной стадии, выполняет предоставленное действие.

CompletionStage<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action)

Возвращает новую CompletionStage, которая, при нормальном завершении этой и другой заданной стадии, выполняет предоставленное действие с использованием стандартной асинхронной среды выполнения этой стадии.

CompletionStage<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action, Executor executor)

Возвращает новую CompletionStage, которая, при нормальном завершении этой и другой заданной стадии, выполняет предоставленное действие с использованием предоставленного исполнителя.

CompletionStage<Void> runAfterEither(CompletionStage<?> other, Runnable action)

Возвращает новую CompletionStage, которая, при нормальном завершении этой или другой заданной стадии, выполняет предоставленное действие.

CompletionStage<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action)

Возвращает новую CompletionStage, которая, при нормальном завершении этой или другой заданной стадии, выполняет предоставленное действие с использованием стандартной асинхронной среды выполнения этой стадии.

CompletionStage<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action, Executor executor)

Возвращает новую CompletionStage, которая, при нормальном завершении этой или другой заданной стадии, выполняет предоставленное действие с использованием предоставленного исполнителя.

CompletionStage<Void> thenAccept(Consumer<? super T> action)

Возвращает новую CompletionStage, которая, при нормальном завершении этой стадии, выполняется с результатом этой стадии в качестве аргумента для предоставленного действия.

CompletionStage<Void> thenAcceptAsync(Consumer<? super T> action)

Возвращает новую CompletionStage, которая, при нормальном завершении этой стадии, выполняется с использованием стандартной асинхронной среды выполнения этой стадии, с результатом этой стадии в качестве аргумента для предоставленного действия.

CompletionStage<Void> thenAcceptAsync(Consumer<? super T> action, Executor executor)

Возвращает новую CompletionStage, которая, при нормальном завершении этой стадии, выполняется с использованием предоставленного исполнителя, с результатом этой стадии в качестве аргумента для предоставленного действия.

<U> CompletionStage<Void> thenAcceptBoth(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)

Возвращает новую CompletionStage, которая, при нормальном завершении этой и другой заданной стадии, выполняется с двумя результатами в качестве аргументов для предоставленного действия.

<U> CompletionStage<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)

Возвращает новую CompletionStage, которая, при нормальном завершении этой и другой заданной стадии, выполняется с использованием стандартной асинхронной среды выполнения этой стадии, с двумя результатами в качестве аргументов для предоставленного действия.

<U> CompletionStage<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action, Executor executor)

Возвращает новую CompletionStage, которая, при нормальном завершении этой и другой заданной стадии, выполняется с использованием предоставленного исполнителя, с двумя результатами в качестве аргументов для предоставленной функции.

<U> CompletionStage<U> thenApply(Function<? super T,? extends U> fn)

Возвращает новую CompletionStage, которая, при нормальном завершении этой стадии, выполняется с результатом этой стадии в качестве аргумента для предоставленной функции.

<U> CompletionStage<U> thenApplyAsync(Function<? super T,? extends U> fn)

Возвращает новую CompletionStage, которая, при нормальном завершении этой стадии, выполняется с использованием стандартной асинхронной среды выполнения этой стадии, с результатом этой стадии в качестве аргумента для предоставленной функции.

<U> CompletionStage<U> thenApplyAsync(Function<? super T,? extends U> fn, Executor executor)

Возвращает новую CompletionStage, которая, при нормальном завершении этой стадии, выполняется с использованием предоставленного исполнителя, с результатом этой стадии в качестве аргумента для предоставленной функции.

<U,V> CompletionStage<V> thenCombine(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)

Возвращает новую CompletionStage, которая, при нормальном завершении этой и другой заданной стадии, выполняется с двумя результатами в качестве аргументов для предоставленной функции.

<U,V> CompletionStage<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)

Возвращает новую CompletionStage, которая, при нормальном завершении этой и другой заданной стадии, выполняется с использованием стандартной асинхронной среды выполнения этой стадии, с двумя результатами в качестве аргументов для предоставленной функции.

<U,V> CompletionStage<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn, Executor executor)

Возвращает новую CompletionStage, которая, при нормальном завершении этой и другой заданной стадии, выполняется с использованием предоставленного исполнителя, с двумя результатами в качестве аргументов для предоставленной функции.

<U> CompletionStage<U> thenCompose(Function<? super T,? extends CompletionStage<U>> fn)

Возвращает новую CompletionStage, которая, при нормальном завершении этой стадии, выполняется с этой стадией в качестве аргумента для предоставленной функции.

<U> CompletionStage<U> thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn)

Возвращает новую CompletionStage, которая, при нормальном завершении этой стадии, выполняется с использованием стандартной асинхронной среды выполнения этой стадии, с этой стадией в качестве аргумента для предоставленной функции.

<U> CompletionStage<U> thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn, Executor executor)

Возвращает новую CompletionStage, которая, при нормальном завершении этой стадии, выполняется с использованием предоставленного исполнителя, с результатом этой стадии в качестве аргумента для предоставленной функции.

CompletionStage<Void> thenRun(Runnable action)

Возвращает новую CompletionStage, которая, при нормальном завершении этой стадии, выполняет предоставленное действие.

CompletionStage<Void> thenRunAsync(Runnable action)

Возвращает новую CompletionStage, которая, при нормальном завершении этой стадии, выполняет предоставленное действие с использованием стандартной асинхронной среды выполнения этой стадии.

CompletionStage<Void> thenRunAsync(Runnable action, Executor executor)

Возвращает новую CompletionStage, которая, при нормальном завершении этой стадии, выполняет предоставленное действие с использованием предоставленного исполнителя.

CompletableFuture<T> toCompletableFuture()

Возвращает CompletableFuture с сохранением тех же свойств завершения, что и у этой стадии.

CompletionStage<T> whenComplete(BiConsumer<? super T,? super Throwable> action)

Возвращает новую CompletionStage с тем же результатом или исключением, что и у этой стадии, которая выполняет предоставленное действие, когда эта стадия завершается.

CompletionStage<T> whenCompleteAsync(BiConsumer<? super T,? super Throwable> action)

Возвращает новую CompletionStage с тем же результатом или исключением, что и у этой стадии, которая выполняет предоставленное действие с использованием стандартной асинхронной среды выполнения этой стадии, когда эта стадия завершается.

CompletionStage<T> whenCompleteAsync(BiConsumer<? super T,? super Throwable> action, Executor executor)

Возвращает новую CompletionStage с тем же результатом или исключением, что и у этой стадии, которая выполняет предоставленное действие с использованием предоставленного исполнителя, когда эта стадия завершается.

Методы

thenApply

<U> CompletionStage<U> thenApply(Function<? super T,? extends U> fn)

Возвращает новый CompletionStage, который, при нормальном завершении этого этапа, выполняется с результатом этого этапа в качестве аргумента для предоставленной функции. См. CompletionStage документацию для правил, охватывающих исключительное завершение.

Параметры типа:
U - тип возвращаемого значения функции
Параметры:
fn - функция, используемая для вычисления значения возвращаемого CompletionStage
Возвращает:
новый CompletionStage

thenApplyAsync

<U> CompletionStage<U> thenApplyAsync(Function<? super T,? extends U> fn)

Возвращает новый CompletionStage, который, при нормальном завершении этого этапа, выполняется с использованием стандартного асинхронного механизма выполнения этого этапа, с результатом этого этапа в качестве аргумента для предоставленной функции. См. CompletionStage документацию для правил, охватывающих исключительное завершение.

Параметры типа:
U - тип возвращаемого значения функции
Параметры:
fn - функция, используемая для вычисления значения возвращаемого CompletionStage
Возвращает:
новый CompletionStage

thenApplyAsync

<U> CompletionStage<U> thenApplyAsync(Function<? super T,? extends U> fn,
                                      Executor executor)

Возвращает новый CompletionStage, который, при нормальном завершении этого этапа, выполняется с использованием предоставленного Executor, с результатом этого этапа в качестве аргумента для предоставленной функции. См. CompletionStage документацию для правил, охватывающих исключительное завершение.

Параметры типа:
U - тип возвращаемого значения функции
Параметры:
fn - функция, используемая для вычисления значения возвращаемого CompletionStage
executor - executor, используемый для асинхронного выполнения
Возвращает:
новый CompletionStage

thenAccept

CompletionStage<Void> thenAccept(Consumer<? super T> action)

Возвращает новый CompletionStage, который, при нормальном завершении этого этапа, выполняется с результатом этого этапа в качестве аргумента для предоставленного действия. См. CompletionStage документацию для правил, охватывающих исключительное завершение.

Параметры:
action - действие, выполняемое перед завершением возвращаемого CompletionStage
Возвращает:
новый CompletionStage

thenAcceptAsync

CompletionStage<Void> thenAcceptAsync(Consumer<? super T> action)

Возвращает новый CompletionStage, который, при нормальном завершении этого этапа, выполняется с использованием стандартного асинхронного механизма выполнения этого этапа, с результатом этого этапа в качестве аргумента для предоставленного действия. См. CompletionStage документацию для правил, охватывающих исключительное завершение.

Параметры:
action - действие, выполняемое перед завершением возвращаемого CompletionStage
Возвращает:
новый CompletionStage

thenAcceptAsync

CompletionStage<Void> thenAcceptAsync(Consumer<? super T> action,
                                      Executor executor)

Возвращает новый CompletionStage, который, при нормальном завершении этого этапа, выполняется с использованием предоставленного Executor, с результатом этого этапа в качестве аргумента для предоставленного действия. См. CompletionStage документацию для правил, охватывающих исключительное завершение.

Параметры:
action - действие, выполняемое перед завершением возвращаемого CompletionStage
executor - executor, используемый для асинхронного выполнения
Возвращает:
новый CompletionStage

thenRun

CompletionStage<Void> thenRun(Runnable action)

Возвращает новый CompletionStage, который, при нормальном завершении этого этапа, выполняет указанное действие. См. CompletionStage документацию для правил, охватывающих исключительное завершение.

Параметры:
action - действие, выполняемое перед завершением возвращаемого CompletionStage
Возвращает:
новый CompletionStage

thenRunAsync

CompletionStage<Void> thenRunAsync(Runnable action)

Возвращает новый CompletionStage, который, при нормальном завершении этого этапа, выполняет указанное действие с использованием стандартного асинхронного механизма выполнения этого этапа. См. CompletionStage документацию для правил, охватывающих исключительное завершение.

Параметры:
action - действие, выполняемое перед завершением возвращаемого CompletionStage
Возвращает:
новый CompletionStage

thenRunAsync

CompletionStage<Void> thenRunAsync(Runnable action,
                                   Executor executor)

Возвращает новый CompletionStage, который, при нормальном завершении этого этапа, выполняет указанное действие с использованием предоставленного Executor. См. CompletionStage документацию для правил, охватывающих исключительное завершение.

Параметры:
action - действие, выполняемое перед завершением возвращаемого CompletionStage
executor - executor, используемый для асинхронного выполнения
Возвращает:
новый CompletionStage

thenCombine

<U,V> CompletionStage<V> thenCombine(CompletionStage<? extends U> other,
                                     BiFunction<? super T,? super U,? extends V> fn)

Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняется с двумя результатами в качестве аргументов для предоставленной функции. См. CompletionStage документацию для правил, охватывающих исключительное завершение.

Параметры типа:
U - тип результата другого CompletionStage
V - тип возвращаемого значения функции
Параметры:
other - другой CompletionStage
fn - функция, используемая для вычисления значения возвращаемого CompletionStage
Возвращает:
новый CompletionStage

thenCombineAsync

<U,V> CompletionStage<V> thenCombineAsync(CompletionStage<? extends U> other,
                                          BiFunction<? super T,? super U,? extends V> fn)

Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняется с использованием стандартного асинхронного механизма выполнения этого этапа, с двумя результатами в качестве аргументов для предоставленной функции. См. CompletionStage документацию для правил, охватывающих исключительное завершение.

Параметры типа:
U - тип результата другого CompletionStage
V - тип возвращаемого значения функции
Параметры:
other - другой CompletionStage
fn - функция, используемая для вычисления значения возвращаемого CompletionStage
Возвращает:
новый CompletionStage

thenCombineAsync

<U,V> CompletionStage<V> thenCombineAsync(CompletionStage<? extends U> other,
                                          BiFunction<? super T,? super U,? extends V> fn,
                                          Executor executor)

Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняется с использованием предоставленного executor, с двумя результатами в качестве аргументов для предоставленной функции. См. CompletionStage документацию для правил, охватывающих исключительное завершение.

Параметры типа:
U - тип результата другого CompletionStage
V - тип возвращаемого значения функции
Параметры:
other - другой CompletionStage
fn - функция, используемая для вычисления значения возвращаемого CompletionStage
executor - executor, используемый для асинхронного выполнения
Возвращает:
новый CompletionStage

thenAcceptBoth

<U> CompletionStage<Void> thenAcceptBoth(CompletionStage<? extends U> other,
                                         BiConsumer<? super T,? super U> action)

Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняется с двумя результатами в качестве аргументов для предоставленного действия. См. CompletionStage документацию для правил, охватывающих исключительное завершение.

Параметры типа:
U - тип результата другого CompletionStage
Параметры:
other - другой CompletionStage
action - действие, выполняемое перед завершением возвращаемого CompletionStage
Возвращает:
новый CompletionStage

thenAcceptBothAsync

<U> CompletionStage<Void> thenAcceptBothAsync(CompletionStage<? extends U> other,
                                              BiConsumer<? super T,? super U> action)

Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняется с использованием стандартного асинхронного механизма выполнения этого этапа, с двумя результатами в качестве аргументов для предоставленного действия.

Параметры типа:
U - тип результата другого CompletionStage
Параметры:
other - другой CompletionStage
action - действие, выполняемое перед завершением возвращаемого CompletionStage
Возвращает:
новый CompletionStage

thenAcceptBothAsync

<U> CompletionStage<Void> thenAcceptBothAsync(CompletionStage<? extends U> other,
                                              BiConsumer<? super T,? super U> action,
                                              Executor executor)

Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняется с использованием предоставленного executor, с двумя результатами в качестве аргументов для предоставленной функции.

Параметры типа:
U - тип результата другого CompletionStage
Параметры:
other - другой CompletionStage
action - действие, выполняемое перед завершением возвращаемого CompletionStage
executor - executor, используемый для асинхронного выполнения
Возвращает:
новый CompletionStage

runAfterBoth

CompletionStage<Void> runAfterBoth(CompletionStage<?> other,
                                   Runnable action)

Возвращает новый CompletionStage, который, при нормальном завершении этого и другого заданного этапа, выполняет указанное действие. См. CompletionStage документацию для правил, охватывающих исключительное завершение.

Параметры:
other - другой CompletionStage
action - действие, выполняемое перед завершением возвращаемого CompletionStage
Возвращает:
новый CompletionStage

runAfterBothAsync

CompletionStage<Void> runAfterBothAsync(CompletionStage<?> other,
                                        Runnable action)

Возвращает новый CompletionStage, который, когда этот и другой указанный этап завершатся успешно, выполнит заданное действие, используя стандартное асинхронное средство выполнения этого этапа. См. документацию CompletionStage для правил, охватывающих исключительное завершение.

Параметры:
other - другой CompletionStage
action - действие, которое должно быть выполнено перед завершением возвращаемого CompletionStage
Возвращает:
новый CompletionStage

runAfterBothAsync

CompletionStage<Void> runAfterBothAsync(CompletionStage<?> other,
                                        Runnable action,
                                        Executor executor)

Возвращает новый CompletionStage, который, когда этот и другой указанный этап завершатся успешно, выполнит заданное действие, используя предоставленный Executor. См. документацию CompletionStage для правил, охватывающих исключительное завершение.

Параметры:
other - другой CompletionStage
action - действие, которое должно быть выполнено перед завершением возвращаемого CompletionStage
executor - Executor для использования в асинхронном выполнении
Возвращает:
новый CompletionStage

applyToEither

<U> CompletionStage<U> applyToEither(CompletionStage<? extends T> other,
                                     Function<? super T,U> fn)

Возвращает новый CompletionStage, который, когда либо этот, либо другой указанный этап завершатся успешно, выполняется с соответствующим результатом в качестве аргумента для предоставленной функции. См. документацию CompletionStage для правил, охватывающих исключительное завершение.

Параметры типа:
U - тип возвращаемого результата функции
Параметры:
other - другой CompletionStage
fn - функция для вычисления значения возвращаемого CompletionStage
Возвращает:
новый CompletionStage

applyToEitherAsync

<U> CompletionStage<U> applyToEitherAsync(CompletionStage<? extends T> other,
                                          Function<? super T,U> fn)

Возвращает новый CompletionStage, который, когда либо этот, либо другой указанный этап завершатся успешно, выполняется с соответствующим результатом в качестве аргумента для предоставленной функции, используя стандартное асинхронное средство выполнения этого этапа. См. документацию CompletionStage для правил, охватывающих исключительное завершение.

Параметры типа:
U - тип возвращаемого результата функции
Параметры:
other - другой CompletionStage
fn - функция для вычисления значения возвращаемого CompletionStage
Возвращает:
новый CompletionStage

applyToEitherAsync

<U> CompletionStage<U> applyToEitherAsync(CompletionStage<? extends T> other,
                                          Function<? super T,U> fn,
                                          Executor executor)

Возвращает новый CompletionStage, который, когда либо этот, либо другой указанный этап завершатся успешно, выполняется, используя предоставленный Executor, с соответствующим результатом в качестве аргумента для предоставленной функции. См. документацию CompletionStage для правил, охватывающих исключительное завершение.

Параметры типа:
U - тип возвращаемого результата функции
Параметры:
other - другой CompletionStage
fn - функция для вычисления значения возвращаемого CompletionStage
executor - Executor для использования в асинхронном выполнении
Возвращает:
новый CompletionStage

acceptEither

CompletionStage<Void> acceptEither(CompletionStage<? extends T> other,
                                   Consumer<? super T> action)

Возвращает новый CompletionStage, который, когда либо этот, либо другой указанный этап завершатся успешно, выполняется с соответствующим результатом в качестве аргумента для предоставленного действия. См. документацию CompletionStage для правил, охватывающих исключительное завершение.

Параметры:
other - другой CompletionStage
action - действие, которое должно быть выполнено перед завершением возвращаемого CompletionStage
Возвращает:
новый CompletionStage

acceptEitherAsync

CompletionStage<Void> acceptEitherAsync(CompletionStage<? extends T> other,
                                        Consumer<? super T> action)

Возвращает новый CompletionStage, который, когда либо этот, либо другой указанный этап завершатся успешно, выполняется с соответствующим результатом в качестве аргумента для предоставленного действия, используя стандартное асинхронное средство выполнения этого этапа. См. документацию CompletionStage для правил, охватывающих исключительное завершение.

Параметры:
other - другой CompletionStage
action - действие, которое должно быть выполнено перед завершением возвращаемого CompletionStage
Возвращает:
новый CompletionStage

acceptEitherAsync

CompletionStage<Void> acceptEitherAsync(CompletionStage<? extends T> other,
                                        Consumer<? super T> action,
                                        Executor executor)

Возвращает новый CompletionStage, который, когда либо этот, либо другой указанный этап завершатся успешно, выполняется, используя предоставленный Executor, с соответствующим результатом в качестве аргумента для предоставленной функции. См. документацию CompletionStage для правил, охватывающих исключительное завершение.

Параметры:
other - другой CompletionStage
action - действие, которое должно быть выполнено перед завершением возвращаемого CompletionStage
executor - Executor для использования в асинхронном выполнении
Возвращает:
новый CompletionStage

runAfterEither

CompletionStage<Void> runAfterEither(CompletionStage<?> other,
                                     Runnable action)

Возвращает новый CompletionStage, который, когда либо этот, либо другой указанный этап завершатся успешно, выполнит заданное действие. См. документацию CompletionStage для правил, охватывающих исключительное завершение.

Параметры:
other - другой CompletionStage
action - действие, которое должно быть выполнено перед завершением возвращаемого CompletionStage
Возвращает:
новый CompletionStage

runAfterEitherAsync

CompletionStage<Void> runAfterEitherAsync(CompletionStage<?> other,
                                          Runnable action)

Возвращает новый CompletionStage, который, когда либо этот, либо другой указанный этап завершатся успешно, выполнит заданное действие, используя стандартное асинхронное средство выполнения этого этапа. См. документацию CompletionStage для правил, охватывающих исключительное завершение.

Параметры:
other - другой CompletionStage
action - действие, которое должно быть выполнено перед завершением возвращаемого CompletionStage
Возвращает:
новый CompletionStage

runAfterEitherAsync

CompletionStage<Void> runAfterEitherAsync(CompletionStage<?> other,
                                          Runnable action,
                                          Executor executor)

Возвращает новый CompletionStage, который, когда либо этот, либо другой указанный этап завершатся успешно, выполнит заданное действие, используя предоставленный Executor. См. документацию CompletionStage для правил, охватывающих исключительное завершение.

Параметры:
other - другой CompletionStage
action - действие, которое должно быть выполнено перед завершением возвращаемого CompletionStage
executor - Executor для использования в асинхронном выполнении
Возвращает:
новый CompletionStage

thenCompose

<U> CompletionStage<U> thenCompose(Function<? super T,? extends CompletionStage<U>> fn)

Возвращает новый CompletionStage, который, когда этот этап завершится успешно, выполняется с этим этапом в качестве аргумента для предоставленной функции. См. документацию CompletionStage для правил, охватывающих исключительное завершение.

Параметры типа:
U - тип результата возвращаемого CompletionStage
Параметры:
fn - функция, возвращающая новый CompletionStage
Возвращает:
CompletionStage

thenComposeAsync

<U> CompletionStage<U> thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn)

Возвращает новый CompletionStage, который, когда этот этап завершится успешно, выполняется с этим этапом в качестве аргумента для предоставленной функции, используя стандартное асинхронное средство выполнения этого этапа. См. документацию CompletionStage для правил, охватывающих исключительное завершение.

Параметры типа:
U - тип результата возвращаемого CompletionStage
Параметры:
fn - функция, возвращающая новый CompletionStage
Возвращает:
CompletionStage

thenComposeAsync

<U> CompletionStage<U> thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn,
                                        Executor executor)

Возвращает новый CompletionStage, который, когда этот этап завершится успешно, выполняется, используя предоставленный Executor, с результатом этого этапа в качестве аргумента для предоставленной функции. См. документацию CompletionStage для правил, охватывающих исключительное завершение.

Параметры типа:
U - тип результата возвращаемого CompletionStage
Параметры:
fn - функция, возвращающая новый CompletionStage
executor - Executor для использования в асинхронном выполнении
Возвращает:
CompletionStage

exceptionally

CompletionStage<T> exceptionally(Function<Throwable,? extends T> fn)

Возвращает новый CompletionStage, который, когда этот этап завершится с исключением, выполняется с исключением этого этапа в качестве аргумента для предоставленной функции. В противном случае, если этот этап завершится успешно, возвращаемый этап также завершится успешно с тем же значением.

Параметры:
fn - функция для вычисления значения возвращаемого CompletionStage, если этот CompletionStage завершился с исключением
Возвращает:
новый CompletionStage

whenComplete

CompletionStage<T> whenComplete(BiConsumer<? super T,? super Throwable> action)

Возвращает новый CompletionStage с тем же результатом или исключением, что и этот этап, который выполняет заданное действие при завершении этого этапа.

При завершении этого этапа заданное действие вызывается с результатом (или null , если его нет) и исключением (или null , если его нет) этого этапа в качестве аргументов. Возвращаемый этап завершается, когда действие возвращается. Если само предоставленное действие вызывает исключение, возвращаемый этап завершается с этим исключением, если только этот этап также не завершился с исключением.

Параметры:
action - действие для выполнения
Возвращает:
новая CompletionStage

whenCompleteAsync

CompletionStage<T> whenCompleteAsync(BiConsumer<? super T,? super Throwable> action)

Возвращает новую CompletionStage с тем же результатом или исключением, что и этот этап, которая выполняет заданное действие с использованием стандартной асинхронной среды выполнения этого этапа, когда этот этап завершается.

Когда этот этап завершен, заданное действие вызывается с результатом (или null , если отсутствует) и исключением (или null , если отсутствует) этого этапа в качестве аргументов. Возвращаемый этап завершается, когда действие возвращает результат. Если само предоставленное действие вызывает исключение, то возвращаемый этап завершается с этим исключением, если только этот этап также не завершился исключением.

Параметры:
action - действие для выполнения
Возвращает:
новая CompletionStage

whenCompleteAsync

CompletionStage<T> whenCompleteAsync(BiConsumer<? super T,? super Throwable> action,
                                     Executor executor)

Возвращает новую CompletionStage с тем же результатом или исключением, что и этот этап, которая выполняет заданное действие с помощью предоставленного Executor, когда этот этап завершается.

Когда этот этап завершен, заданное действие вызывается с результатом (или null , если отсутствует) и исключением (или null , если отсутствует) этого этапа в качестве аргументов. Возвращаемый этап завершается, когда действие возвращает результат. Если само предоставленное действие вызывает исключение, то возвращаемый этап завершается с этим исключением, если только этот этап также не завершился исключением.

Параметры:
action - действие для выполнения
executor - executor для использования в асинхронном выполнении
Возвращает:
новая CompletionStage

handle

<U> CompletionStage<U> handle(BiFunction<? super T,Throwable,? extends U> fn)

Возвращает новую CompletionStage, которая, когда этот этап завершается нормально или с исключением, выполняется с результатом и исключением этого этапа в качестве аргументов для предоставленной функции.

Когда этот этап завершен, заданная функция вызывается с результатом (или null , если отсутствует) и исключением (или null , если отсутствует) этого этапа в качестве аргументов, и результат функции используется для завершения возвращаемого этапа.

Параметры типа:
U - тип возвращаемого значения функции
Параметры:
fn - функция для вычисления значения возвращаемой CompletionStage
Возвращает:
новая CompletionStage

handleAsync

<U> CompletionStage<U> handleAsync(BiFunction<? super T,Throwable,? extends U> fn)

Возвращает новую CompletionStage, которая, когда этот этап завершается нормально или с исключением, выполняется с использованием стандартной асинхронной среды выполнения этого этапа, с результатом и исключением этого этапа в качестве аргументов для предоставленной функции.

Когда этот этап завершен, заданная функция вызывается с результатом (или null , если отсутствует) и исключением (или null , если отсутствует) этого этапа в качестве аргументов, и результат функции используется для завершения возвращаемого этапа.

Параметры типа:
U - тип возвращаемого значения функции
Параметры:
fn - функция для вычисления значения возвращаемой CompletionStage
Возвращает:
новая CompletionStage

handleAsync

<U> CompletionStage<U> handleAsync(BiFunction<? super T,Throwable,? extends U> fn,
                                   Executor executor)

Возвращает новую CompletionStage, которая, когда этот этап завершается нормально или с исключением, выполняется с использованием предоставленного executor, с результатом и исключением этого этапа в качестве аргументов для предоставленной функции.

Когда этот этап завершен, заданная функция вызывается с результатом (или null , если отсутствует) и исключением (или null , если отсутствует) этого этапа в качестве аргументов, и результат функции используется для завершения возвращаемого этапа.

Параметры типа:
U - тип возвращаемого значения функции
Параметры:
fn - функция для вычисления значения возвращаемой CompletionStage
executor - executor для использования в асинхронном выполнении
Возвращает:
новая CompletionStage

toCompletableFuture

CompletableFuture<T> toCompletableFuture()

Возвращает CompletableFuture, сохраняющий те же свойства завершения, что и этот этап. Если этот этап уже является CompletableFuture, этот метод может вернуть этот этап сам по себе. В противном случае вызов этого метода может быть эквивалентен по эффекту thenApply(x -> x), но возвращая экземпляр типа CompletableFuture. Реализация CompletionStage, которая не выбирает взаимодействие с другими, может выбросить UnsupportedOperationException.

Возвращает:
CompletableFuture
Исключения:
UnsupportedOperationException - если эта реализация не взаимодействует с CompletableFuture

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API