Class PromiseImpl<T>
- All Implemented Interfaces:
AsyncResult<T>,Future<T>,Handler<AsyncResult<T>>,FutureInternal<T>,Listener<T>,PromiseInternal<T>,Promise<T>
- Author:
- Julien Viet
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<U> Future<U>Compose this future with asuccessMapperandfailureMapperfunctions.protected final voidemitFailure(Throwable cause, Listener<T> listener) protected final voidemitSuccess(T value, Listener<T> listener) Create a future that hasn't completed yeteventually(Function<Void, Future<U>> mapper) Compose this future with afunctionthat will be always be called.future()voidhandle(AsyncResult<T> ar) Create a promise that hasn't completed yet<U> Future<U>Apply amapperfunction on this future.<V> Future<V>map(V value) Map the result of a future to a specificvalue.voidSignal the failurevoidSignal the success.Apply amapperfunction on this future.Map the failure of a future to a specificvalue.<U> Future<U>transform(Function<AsyncResult<T>, Future<U>> mapper) Transform this future with amapperfunctions.Methods inherited from class dev.webfx.platform.async.impl.FutureImpl
addListener, cause, failed, formatValue, isComplete, onComplete, onComplete, onFailure, onSuccess, removeListener, result, succeeded, toString, tryComplete, tryFailMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface dev.webfx.platform.async.Future
andThen, cause, compose, compose, eventually, eventually, failed, flatMap, isComplete, map, map, mapEmpty, onComplete, onComplete, onFailure, onSuccess, otherwise, otherwise, otherwiseEmpty, recover, result, succeeded, transformMethods inherited from interface dev.webfx.platform.async.impl.FutureInternal
addListener, removeListenerMethods inherited from interface dev.webfx.platform.async.Promise
complete, complete, fail, fail, tryComplete, tryComplete, tryFail, tryFail
-
Constructor Details
-
PromiseImpl
public PromiseImpl()Create a promise that hasn't completed yet
-
-
Method Details
-
handle
Create a promise that hasn't completed yet -
onSuccess
Description copied from interface:ListenerSignal the success. -
onFailure
Description copied from interface:ListenerSignal the failure -
future
-
emitSuccess
Create a future that hasn't completed yet -
emitFailure
-
compose
public <U> Future<U> compose(Function<T, Future<U>> successMapper, Function<Throwable, Future<U>> failureMapper) Description copied from interface:FutureCompose this future with asuccessMapperandfailureMapperfunctions.When this future (the one on which
composeis called) succeeds, thesuccessMapperwill be called with the completed value and this mapper returns another future object. This returned future completion will complete the future returned by this method call.When this future (the one on which
composeis called) fails, thefailureMapperwill be called with the failure and this mapper returns another future object. This returned future completion will complete the future returned by this method call.If any mapper function throws an exception, the returned future will be failed with this exception.
-
transform
Description copied from interface:FutureTransform this future with amapperfunctions.When this future (the one on which
transformis called) completes, themapperwill be called with the async result and this mapper returns another future object. This returned future completion will complete the future returned by this method call.If any mapper function throws an exception, the returned future will be failed with this exception.
-
eventually
Description copied from interface:FutureCompose this future with afunctionthat will be always be called.When this future (the one on which
eventuallyis called) completes, thefunctionwill be called and this mapper returns another future object. This returned future completion will complete the future returned by this method call with the original result of the future.The outcome of the future returned by the
functionwill not influence the nature of the returned future.- Specified by:
eventuallyin interfaceFuture<T>- Parameters:
mapper- the function returning the future.- Returns:
- the composed future
-
map
Description copied from interface:FutureApply amapperfunction on this future.When this future succeeds, the
mapperwill be called with the completed value and this mapper returns a value. This value will complete the future returned by this method call.If the
mapperthrows an exception, the returned future will be failed with this exception.When this future fails, the failure will be propagated to the returned future and the
mapperwill not be called.- Specified by:
mapin interfaceAsyncResult<T>- Specified by:
mapin interfaceFuture<T>- Parameters:
mapper- the mapper function- Returns:
- the mapped future
-
map
Description copied from interface:FutureMap the result of a future to a specificvalue.When this future succeeds, this
valuewill complete the future returned by this method call.When this future fails, the failure will be propagated to the returned future.
- Specified by:
mapin interfaceAsyncResult<T>- Specified by:
mapin interfaceFuture<T>- Parameters:
value- the value that eventually completes the mapped future- Returns:
- the mapped future
-
otherwise
Description copied from interface:FutureApply amapperfunction on this future.When this future fails, the
mapperwill be called with the completed value and this mapper returns a value. This value will complete the future returned by this method call.If the
mapperthrows an exception, the returned future will be failed with this exception.When this future succeeds, the result will be propagated to the returned future and the
mapperwill not be called.- Specified by:
otherwisein interfaceAsyncResult<T>- Specified by:
otherwisein interfaceFuture<T>- Parameters:
mapper- the mapper function- Returns:
- the mapped future
-
otherwise
Description copied from interface:FutureMap the failure of a future to a specificvalue.When this future fails, this
valuewill complete the future returned by this method call.When this future succeeds, the result will be propagated to the returned future.
- Specified by:
otherwisein interfaceAsyncResult<T>- Specified by:
otherwisein interfaceFuture<T>- Parameters:
value- the value that eventually completes the mapped future- Returns:
- the mapped future
-