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 asuccessMapper
andfailureMapper
functions.protected final void
emitFailure
(Throwable cause, Listener<T> listener) protected final void
emitSuccess
(T value, Listener<T> listener) Create a future that hasn't completed yeteventually
(Function<Void, Future<U>> mapper) Compose this future with afunction
that will be always be called.future()
void
handle
(AsyncResult<T> ar) Create a promise that hasn't completed yet<U> Future<U>
Apply amapper
function on this future.<V> Future<V>
map
(V value) Map the result of a future to a specificvalue
.void
Signal the failurevoid
Signal the success.Apply amapper
function 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 amapper
functions.Methods inherited from class dev.webfx.platform.async.impl.FutureImpl
addListener, cause, failed, formatValue, isComplete, onComplete, onComplete, onFailure, onSuccess, removeListener, result, succeeded, toString, tryComplete, tryFail
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods 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, transform
Methods inherited from interface dev.webfx.platform.async.impl.FutureInternal
addListener, removeListener
Methods 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:Listener
Signal the success. -
onFailure
Description copied from interface:Listener
Signal 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:Future
Compose this future with asuccessMapper
andfailureMapper
functions.When this future (the one on which
compose
is called) succeeds, thesuccessMapper
will 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
compose
is called) fails, thefailureMapper
will 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:Future
Transform this future with amapper
functions.When this future (the one on which
transform
is called) completes, themapper
will 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:Future
Compose this future with afunction
that will be always be called.When this future (the one on which
eventually
is called) completes, thefunction
will 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
function
will not influence the nature of the returned future.- Specified by:
eventually
in interfaceFuture<T>
- Parameters:
mapper
- the function returning the future.- Returns:
- the composed future
-
map
Description copied from interface:Future
Apply amapper
function on this future.When this future succeeds, the
mapper
will 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
mapper
throws 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
mapper
will not be called.- Specified by:
map
in interfaceAsyncResult<T>
- Specified by:
map
in interfaceFuture<T>
- Parameters:
mapper
- the mapper function- Returns:
- the mapped future
-
map
Description copied from interface:Future
Map the result of a future to a specificvalue
.When this future succeeds, this
value
will complete the future returned by this method call.When this future fails, the failure will be propagated to the returned future.
- Specified by:
map
in interfaceAsyncResult<T>
- Specified by:
map
in interfaceFuture<T>
- Parameters:
value
- the value that eventually completes the mapped future- Returns:
- the mapped future
-
otherwise
Description copied from interface:Future
Apply amapper
function on this future.When this future fails, the
mapper
will 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
mapper
throws 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
mapper
will not be called.- Specified by:
otherwise
in interfaceAsyncResult<T>
- Specified by:
otherwise
in interfaceFuture<T>
- Parameters:
mapper
- the mapper function- Returns:
- the mapped future
-
otherwise
Description copied from interface:Future
Map the failure of a future to a specificvalue
.When this future fails, this
value
will complete the future returned by this method call.When this future succeeds, the result will be propagated to the returned future.
- Specified by:
otherwise
in interfaceAsyncResult<T>
- Specified by:
otherwise
in interfaceFuture<T>
- Parameters:
value
- the value that eventually completes the mapped future- Returns:
- the mapped future
-