org.zalando.riptide.Completion Maven / Gradle / Ivy
package org.zalando.riptide;
import javax.annotation.Nullable;
import java.util.concurrent.CancellationException;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionException;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.Executor;
import java.util.concurrent.Future;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.Consumer;
import java.util.function.Function;
public interface Completion extends Future, CompletionStage {
@Override
Completion thenApply(Function super T, ? extends U> fn);
@Override
Completion thenApplyAsync(Function super T, ? extends U> fn);
@Override
Completion thenApplyAsync(Function super T, ? extends U> fn, Executor executor);
@Override
Completion thenAccept(Consumer super T> action);
@Override
Completion thenAcceptAsync(Consumer super T> action);
@Override
Completion thenAcceptAsync(Consumer super T> action, Executor executor);
@Override
Completion thenRun(Runnable action);
@Override
Completion thenRunAsync(Runnable action);
@Override
Completion thenRunAsync(Runnable action, Executor executor);
@Override
Completion thenCombine(CompletionStage extends U> other, BiFunction super T, ? super U, ? extends V> fn);
@Override
Completion thenCombineAsync(CompletionStage extends U> other, BiFunction super T, ? super U, ? extends V> fn);
@Override
Completion thenCombineAsync(CompletionStage extends U> other, BiFunction super T, ? super U, ? extends V> fn, Executor executor);
@Override
Completion thenAcceptBoth(CompletionStage extends U> other, BiConsumer super T, ? super U> action);
@Override
Completion thenAcceptBothAsync(CompletionStage extends U> other, BiConsumer super T, ? super U> action);
@Override
Completion thenAcceptBothAsync(CompletionStage extends U> other, BiConsumer super T, ? super U> action, Executor executor);
@Override
Completion runAfterBoth(CompletionStage> other, Runnable action);
@Override
Completion runAfterBothAsync(CompletionStage> other, Runnable action);
@Override
Completion runAfterBothAsync(CompletionStage> other, Runnable action, Executor executor);
@Override
Completion applyToEither(CompletionStage extends T> other, Function super T, U> fn);
@Override
Completion applyToEitherAsync(CompletionStage extends T> other, Function super T, U> fn);
@Override
Completion applyToEitherAsync(CompletionStage extends T> other, Function super T, U> fn, Executor executor);
@Override
Completion acceptEither(CompletionStage extends T> other, Consumer super T> action);
@Override
Completion acceptEitherAsync(CompletionStage extends T> other, Consumer super T> action);
@Override
Completion acceptEitherAsync(CompletionStage extends T> other, Consumer super T> action, Executor executor);
@Override
Completion runAfterEither(CompletionStage> other, Runnable action);
@Override
Completion runAfterEitherAsync(CompletionStage> other, Runnable action);
@Override
Completion runAfterEitherAsync(CompletionStage> other, Runnable action, Executor executor);
@Override
Completion thenCompose(Function super T, ? extends CompletionStage> fn);
@Override
Completion thenComposeAsync(Function super T, ? extends CompletionStage> fn);
@Override
Completion thenComposeAsync(Function super T, ? extends CompletionStage> fn, Executor executor);
@Override
Completion exceptionally(Function fn);
@Override
Completion whenComplete(BiConsumer super T, ? super Throwable> action);
@Override
Completion whenCompleteAsync(BiConsumer super T, ? super Throwable> action);
@Override
Completion whenCompleteAsync(BiConsumer super T, ? super Throwable> action, Executor executor);
@Override
Completion handle(BiFunction super T, Throwable, ? extends U> fn);
@Override
Completion handleAsync(BiFunction super T, Throwable, ? extends U> fn);
@Override
Completion handleAsync(BiFunction super T, Throwable, ? extends U> fn, Executor executor);
T join() throws CancellationException, CompletionException;
T getNow(@Nullable T valueIfAbsent) throws CancellationException, CompletionException;
static Completion valueOf(final CompletableFuture future) {
return new CompletionAdapter<>(future);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy