Package org.cometd.bayeux
Interface Promise<C>
-
- Type Parameters:
C- the type of the result value
- All Known Implementing Classes:
Promise.Completable
public interface Promise<C>The future result of an operation, either a value if the operation succeeded, or a failure if the operation failed.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classPromise.Completable<S>A CompletableFuture that is also a Promise.
-
Method Summary
All Methods Static Methods Instance Methods Default Methods Modifier and Type Method Description default java.util.function.BiConsumer<C,java.lang.Throwable>complete()Returns aBiConsumerthat, when invoked, completes this Promise.static <T> Promise<T>complete(java.util.function.BiConsumer<T,java.lang.Throwable> fn)Returns a Promise that, when completed, invokes the givenBiConsumerfunction.default voidfail(java.lang.Throwable failure)Callback to invoke when the operation fails.static <T> Promise<T>from(java.util.function.Consumer<T> succeed, java.util.function.Consumer<java.lang.Throwable> fail)static <T> Promise<T>noop()default voidsucceed(C result)Callback to invoke when the operation succeeds.
-
-
-
Method Detail
-
succeed
default void succeed(C result)
Callback to invoke when the operation succeeds.
- Parameters:
result- the result- See Also:
fail(Throwable)
-
fail
default void fail(java.lang.Throwable failure)
Callback to invoke when the operation fails.
- Parameters:
failure- the operation failure
-
complete
default java.util.function.BiConsumer<C,java.lang.Throwable> complete()
Returns a
BiConsumerthat, when invoked, completes this Promise.Typical usage is with
CompletableFuture:public void process(ServerMessage message, Promise<Boolean> promise) { CompletableFuture.supplyAsync(() -> asyncOperation(message)) .whenComplete(promise.complete()); }- Returns:
- a BiConsumer that completes this Promise
- See Also:
Promise.Completable
-
noop
static <T> Promise<T> noop()
- Type Parameters:
T- the type of the empty result- Returns:
- a Promise whose methods are implemented empty.
-
from
static <T> Promise<T> from(java.util.function.Consumer<T> succeed, java.util.function.Consumer<java.lang.Throwable> fail)
- Type Parameters:
T- the type of the result value- Parameters:
succeed- the Consumer to call in case of successful completionfail- the Consumer to call in case of failed completion- Returns:
- a Promise from the given consumers
-
complete
static <T> Promise<T> complete(java.util.function.BiConsumer<T,java.lang.Throwable> fn)
Returns a Promise that, when completed, invokes the given
BiConsumerfunction.- Type Parameters:
T- the type of the result value- Parameters:
fn- the function to invoke when the Promise is completed- Returns:
- a Promise that invokes the BiConsumer function
-
-