static <T> AsyncEventDeliveryStage<T> completed(T event, Executor executor) { final CompletableFuture<T> delegate = new CompletableFuture<>(); delegate.complete(event); return new AsyncEventDeliveryStage<>(delegate, executor); }
@Override public <U> CompletionStage<U> thenApply(Function<? super T, ? extends U> fn) { return wrap(super.thenApply(fn)); }
@Override public CompletionStage<Void> thenRun(Runnable action) { return wrap(super.thenRun(action)); }
@Override public CompletionStage<Void> thenRunAsync(Runnable action) { return wrap(super.thenRunAsync(action, defaultExecutor)); }
static <T> AsyncEventDeliveryStage<T> completed(T event, Executor executor) { final CompletableFuture<T> delegate = new CompletableFuture<>(); delegate.complete(event); return new AsyncEventDeliveryStage<>(delegate, executor); }
@Override public <U> CompletionStage<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action) { return wrap(super.thenAcceptBothAsync(other, action, defaultExecutor)); }
static <T> AsyncEventDeliveryStage<T> completed(T event, Executor executor) { final CompletableFuture<T> delegate = new CompletableFuture<>(); delegate.complete(event); return new AsyncEventDeliveryStage<>(delegate, executor); }
@Override public CompletionStage<Void> acceptEither(CompletionStage<? extends T> other, Consumer<? super T> action) { return wrap(super.acceptEither(other, action)); }
static <T> AsyncEventDeliveryStage<T> completed(T event, Executor executor) { final CompletableFuture<T> delegate = new CompletableFuture<>(); delegate.complete(event); return new AsyncEventDeliveryStage<>(delegate, executor); }
@Override public CompletionStage<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action) { return wrap(super.runAfterEitherAsync(other, action, defaultExecutor)); }
static <T> AsyncEventDeliveryStage<T> completed(T event, Executor executor) { final CompletableFuture<T> delegate = new CompletableFuture<>(); delegate.complete(event); return new AsyncEventDeliveryStage<>(delegate, executor); }
@Override public CompletionStage<T> whenComplete(BiConsumer<? super T, ? super Throwable> action) { return wrap(super.whenComplete(action)); }
@Override public CompletionStage<T> whenCompleteAsync(BiConsumer<? super T, ? super Throwable> action) { return wrap(super.whenCompleteAsync(action, defaultExecutor)); }
@Override public <U> CompletionStage<U> handleAsync(BiFunction<? super T, Throwable, ? extends U> fn) { return wrap(super.handleAsync(fn, defaultExecutor)); }
@Override public <U> CompletionStage<U> handleAsync(BiFunction<? super T, Throwable, ? extends U> fn, Executor executor) { return wrap(super.handleAsync(fn, executor)); }
@Override public <U> CompletionStage<U> thenApplyAsync(Function<? super T, ? extends U> fn) { return wrap(super.thenApplyAsync(fn, defaultExecutor)); }
@Override public <U> CompletionStage<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action) { return wrap(super.thenAcceptBothAsync(other, action, defaultExecutor)); }
@Override public CompletionStage<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action, Executor executor) { return wrap(super.runAfterBothAsync(other, action, executor)); }
@Override public <U> CompletionStage<U> thenComposeAsync(Function<? super T, ? extends CompletionStage<U>> fn, Executor executor) { return wrap(super.thenComposeAsync(fn, executor)); }
@Override public CompletionStage<T> whenComplete(BiConsumer<? super T, ? super Throwable> action) { return wrap(super.whenComplete(action)); }