TResolve - the type passed to fulfillment or rejection handlersTProgress - the type passed to progress handlerspublic class WhenProgress<TResolve,TProgress> extends Object
| Modifier and Type | Class and Description |
|---|---|
protected class |
WhenProgress.FulfilledPromise
Creates a fulfilled, local promise as a proxy for a value
NOTE: must never be exposed
|
protected class |
WhenProgress.ProgressingPromise
Create a progress promise with the supplied update.
|
protected class |
WhenProgress.Promise0 |
protected class |
WhenProgress.RejectedPromise
Creates a rejected, local promise as a proxy for a value
NOTE: must never be exposed
|
protected class |
WhenProgress.TrustedPromise |
| Constructor and Description |
|---|
WhenProgress() |
| Modifier and Type | Method and Description |
|---|---|
ProgressPromise<List<? extends TResolve>,TProgress> |
all(List<? extends ProgressPromise<TResolve,TProgress>> promises)
Return a promise that will resolve only once all the supplied promises
have resolved.
|
ProgressPromise<List<? extends TResolve>,TProgress> |
allValues(List<TResolve> values)
Return a resolved promise for the list of input values.
|
ProgressPromise<TResolve,TProgress> |
any(List<? extends ProgressPromise<TResolve,TProgress>> promises)
Initiates a competitive race, returning a promise that will resolve when
any one of the supplied promises has resolved or will reject when
*all* promises have rejected.
|
ProgressPromise<TResolve,TProgress> |
anyValues(List<TResolve> values)
Resolves immediately returning a resolved
ProgressPromise with the first value from the input list. |
ProgressPromise<TResolve,TProgress> |
chain(ProgressPromise<TResolve,TProgress> promise,
Resolver<TResolve,TProgress> resolver)
Ensure that resolution of a promise will trigger the resolver with the resolved value.
|
ProgressPromise<TResolve,TProgress> |
chain(ProgressPromise<TResolve,TProgress> promise,
Resolver<TResolve,TProgress> resolver,
TResolve resolveValue)
Ensure that resolution of a promise will trigger the resolver with the provided resolveValue.
|
protected WhenProgress.FulfilledPromise |
createFulfilledPromise(TResolve value) |
protected WhenProgress.ProgressingPromise |
createProgressingPromise(Value<TProgress> value) |
protected WhenProgress.Promise0 |
createPromise0(ResolveCallback<TResolve,TProgress> resolver,
PromiseStatus status) |
protected WhenProgress.RejectedPromise |
createRejectedPromise(Value<TResolve> value) |
DeferredProgress<TResolve,TProgress> |
defer()
Creates a {promise, resolver} pair, either or both of which
may be given out safely to consumers.
|
protected static MonitorApi |
getMonitorApi() |
ProgressPromise<List<? extends TResolve>,TProgress> |
join(ProgressPromise<TResolve,TProgress>... promises)
Joins multiple promises into a single returned promise.
|
ProgressPromise<List<? extends TResolve>,TProgress> |
join(TResolve... values)
Joins multiple promises into a single returned promise.
|
ProgressPromise<List<? extends TResolve>,TProgress> |
map(List<? extends ProgressPromise<TResolve,TProgress>> promises,
Runnable<ProgressPromise<TResolve,TProgress>,TResolve> mapFunc)
Promise-aware array map function, similar to `Array.prototype.map()`,
but input array may contain promises or values.
|
ProgressPromise<List<? extends TResolve>,TProgress> |
map(ProgressPromise<List<? extends TResolve>,TProgress> promise,
Runnable<ProgressPromise<TResolve,TProgress>,TResolve> mapFunc)
Traditional map function, but the input is a
ProgressPromise for values to be mapped. |
<T> ProgressPromise<T,TProgress> |
reduce(List<ProgressPromise<TResolve,TProgress>> promises,
Reducer<T,TResolve> reduceFunc)
Traditional reduce function, but the input is a list of
ProgressPromises. |
<T> ProgressPromise<T,TProgress> |
reduce(List<ProgressPromise<TResolve,TProgress>> promises,
Reducer<T,TResolve> reduceFunc,
ProgressPromise<T,TProgress> initialValue)
Traditional reduce function, but the input is a list of
ProgressPromises. |
<T> ProgressPromise<T,TProgress> |
reduce(List<ProgressPromise<TResolve,TProgress>> promises,
Reducer<T,TResolve> reduceFunc,
T initialValue)
Traditional reduce function, but the input is a list of
ProgressPromises. |
<T> ProgressPromise<T,TProgress> |
reduce(ProgressPromise<List<TResolve>,TProgress> promise,
Reducer<T,TResolve> reduceFunc,
ProgressPromise<T,TProgress> initialValue)
Traditional reduce function, but the input is a
ProgressPromise for a list of values. |
<T> ProgressPromise<T,TProgress> |
reduce(ProgressPromise<List<TResolve>,TProgress> promise,
Reducer<T,TResolve> reduceFunc,
T initialValue)
Traditional reduce function, but the input is a
ProgressPromise for a list of values. |
<T> ProgressPromise<T,TProgress> |
reduceValues(List<TResolve> values,
Reducer<T,TResolve> reduceFunc)
Traditional reduce function, where the input is a list of values to reduce.
|
<T> ProgressPromise<T,TProgress> |
reduceValues(List<TResolve> values,
Reducer<T,TResolve> reduceFunc,
ProgressPromise<T,TProgress> initialValue)
Traditional reduce function, where the input is a list of values to reduce.
|
<T> ProgressPromise<T,TProgress> |
reduceValues(List<TResolve> values,
Reducer<T,TResolve> reduceFunc,
T initialValue)
Traditional reduce function, where the input is a list of values to reduce.
|
ProgressPromise<TResolve,TProgress> |
reject(Thenable<TResolve,TProgress> x)
Returns a rejected promise for the supplied promiseOrValue.
|
ProgressPromise<TResolve,TProgress> |
reject(Throwable x)
Returns a rejected promise for the supplied promiseOrValue.
|
ProgressPromise<TResolve,TProgress> |
reject(TResolve x)
Returns a rejected promise for the supplied promiseOrValue.
|
ProgressPromise<TResolve,TProgress> |
reject(Value<TResolve> x)
Returns a rejected promise for the supplied promiseOrValue.
|
ProgressPromise<TResolve,TProgress> |
resolve(Thenable<TResolve,TProgress> x)
Returns a resolved promise.
|
ProgressPromise<TResolve,TProgress> |
resolve(TResolve x)
Returns a resolved promise.
|
List<ProgressPromise<TResolve,TProgress>> |
resolveValues(List<? extends TResolve> values)
Converts a list of values to a list of resolved promises.
|
<TArg> ProgressPromise<List<TResolve>,TProgress> |
sequence(List<Runnable<ProgressPromise<TResolve,TProgress>,TArg>> tasks,
TArg arg)
Run list of tasks in sequence with no overlap
|
ProgressPromise<List<TResolve>,TProgress> |
sequence(List<Runnable<ProgressPromise<TResolve,TProgress>,Void>> tasks)
Run list of tasks in sequence with no overlap
|
static void |
setNextTick(Executor executor)
Sets the executor to asynchronously run callbacks on an event loop.
|
ProgressPromise<List<? extends TResolve>,TProgress> |
some(List<? extends ProgressPromise<TResolve,TProgress>> promises,
int howMany)
Initiates a competitive race, returning a promise that will resolve when
howMany of the supplied promisesOrValues have resolved, or will reject when
it becomes impossible for howMany to resolve, for example, when
(promisesOrValues.length - howMany) + 1 input promises reject.
|
ProgressPromise<List<? extends TResolve>,TProgress> |
someValues(List<TResolve> values,
int howMany)
Resolves immediately returning a resolved
ProgressPromise with the specified number of values. |
ProgressPromise<TResolve,TProgress> |
when(Thenable<TResolve,TProgress> promise)
Register an observer for a promise.
|
ProgressPromise<TResolve,TProgress> |
when(Thenable<TResolve,TProgress> promise,
Runnable<ProgressPromise<TResolve,TProgress>,TResolve> onFulfilled)
Register an observer for a promise.
|
ProgressPromise<TResolve,TProgress> |
when(Thenable<TResolve,TProgress> promise,
Runnable<ProgressPromise<TResolve,TProgress>,TResolve> onFulfilled,
Runnable<ProgressPromise<TResolve,TProgress>,Value<TResolve>> onRejected)
Register an observer for a promise.
|
ProgressPromise<TResolve,TProgress> |
when(Thenable<TResolve,TProgress> promise,
Runnable<ProgressPromise<TResolve,TProgress>,TResolve> onFulfilled,
Runnable<ProgressPromise<TResolve,TProgress>,Value<TResolve>> onRejected,
Runnable<Value<TProgress>,Value<TProgress>> onProgress)
Register an observer for a promise.
|
ProgressPromise<TResolve,TProgress> |
when(TResolve value)
Register an observer for an immediate value.
|
ProgressPromise<TResolve,TProgress> |
when(TResolve value,
Runnable<ProgressPromise<TResolve,TProgress>,TResolve> onFulfilled)
Register an observer for an immediate value.
|
public ProgressPromise<TResolve,TProgress> when(TResolve value)
value - the value to provide to returned promiseProgressPromise that will complete with the return value of onFulfilled or the provided value if
onFulfilled is not supplied.public ProgressPromise<TResolve,TProgress> when(TResolve value, Runnable<ProgressPromise<TResolve,TProgress>,TResolve> onFulfilled)
value - the value to provide to the onFulfilled callbackonFulfilled - callback to be called when value is successfully fulfilled. It will be invoked immediately.ProgressPromise that will complete with the return value of onFulfilled or the provided value if
onFulfilled is not supplied.public ProgressPromise<TResolve,TProgress> when(Thenable<TResolve,TProgress> promise)
promise - a promise whose value is provided to the callbacks.ProgressPromise that will complete with the completion value of promise.public ProgressPromise<TResolve,TProgress> when(Thenable<TResolve,TProgress> promise, Runnable<ProgressPromise<TResolve,TProgress>,TResolve> onFulfilled)
promise - a promise whose value is provided to the callbacks.onFulfilled - callback to be called when the promise is successfully fulfilled. If the promise is an
immediate value, the callback will be invoked immediately.ProgressPromise that will complete with the return value of onFulfilled or the
completion value of promise if onFulfilled is not supplied.public ProgressPromise<TResolve,TProgress> when(Thenable<TResolve,TProgress> promise, Runnable<ProgressPromise<TResolve,TProgress>,TResolve> onFulfilled, Runnable<ProgressPromise<TResolve,TProgress>,Value<TResolve>> onRejected)
promise - a promise whose value is provided to the callbacks.onFulfilled - callback to be called when the promise is successfully fulfilled. If the promise is an
immediate value, the callback will be invoked immediately.onRejected - callback to be called when the promise is rejected.ProgressPromise that will complete with the return value of onFulfilled or onRejected or the
completion value of promise if onFulfilled and/or onRejected are not supplied.public ProgressPromise<TResolve,TProgress> when(Thenable<TResolve,TProgress> promise, Runnable<ProgressPromise<TResolve,TProgress>,TResolve> onFulfilled, Runnable<ProgressPromise<TResolve,TProgress>,Value<TResolve>> onRejected, Runnable<Value<TProgress>,Value<TProgress>> onProgress)
promise - the promise to observeonFulfilled - callback to be called when promise is
successfully fulfilled.onRejected - callback to be called when promiseOrValue is
rejected.onProgress - callback to be called when progress updates
are issued for promise.Promise that will complete with the return
value of callback or errback or the completion value of promiseOrValue if
callback and/or errback is not supplied.protected WhenProgress.Promise0 createPromise0(ResolveCallback<TResolve,TProgress> resolver, PromiseStatus status)
protected WhenProgress.FulfilledPromise createFulfilledPromise(TResolve value)
protected WhenProgress.RejectedPromise createRejectedPromise(Value<TResolve> value)
protected WhenProgress.ProgressingPromise createProgressingPromise(Value<TProgress> value)
public ProgressPromise<TResolve,TProgress> resolve(Thenable<TResolve,TProgress> x)
x - the thenable to resolvepublic ProgressPromise<TResolve,TProgress> resolve(TResolve x)
x - the resolved valuepublic ProgressPromise<TResolve,TProgress> reject(Thenable<TResolve,TProgress> x)
x - the rejected value of the returned promisepublic ProgressPromise<TResolve,TProgress> reject(Throwable x)
x - the rejected value of the returned promisepublic ProgressPromise<TResolve,TProgress> reject(Value<TResolve> x)
x - the rejected value of the returned promisepublic ProgressPromise<TResolve,TProgress> reject(TResolve x)
x - the rejected value of the returned promisepublic DeferredProgress<TResolve,TProgress> defer()
public ProgressPromise<List<? extends TResolve>,TProgress> some(List<? extends ProgressPromise<TResolve,TProgress>> promises, int howMany)
promises - array of anything, may contain a mix
of promises and valueshowMany - number of promisesOrValues to resolvepublic ProgressPromise<List<? extends TResolve>,TProgress> someValues(List<TResolve> values, int howMany)
ProgressPromise with the specified number of values.values - a list of resolved valueshowMany - number of promises to resolveProgressPromise with howMany values.public ProgressPromise<TResolve,TProgress> any(List<? extends ProgressPromise<TResolve,TProgress>> promises)
promises - list of promisespublic ProgressPromise<TResolve,TProgress> anyValues(List<TResolve> values)
ProgressPromise with the first value from the input list.values - the valuesProgressPromise with the first value from the input list.public ProgressPromise<List<? extends TResolve>,TProgress> all(List<? extends ProgressPromise<TResolve,TProgress>> promises)
promises - input promises to resolveProgressPromise that resolves when all the input promises have resolvedpublic ProgressPromise<List<? extends TResolve>,TProgress> allValues(List<TResolve> values)
values - input valuesProgressPromise@SafeVarargs public final ProgressPromise<List<? extends TResolve>,TProgress> join(ProgressPromise<TResolve,TProgress>... promises)
promises - the promises to join@SafeVarargs public final ProgressPromise<List<? extends TResolve>,TProgress> join(TResolve... values)
values - the values to joinpublic ProgressPromise<List<? extends TResolve>,TProgress> map(List<? extends ProgressPromise<TResolve,TProgress>> promises, Runnable<ProgressPromise<TResolve,TProgress>,TResolve> mapFunc)
promises - list of promises, may be in any statusmapFunc - map function which may return a promise or valuepublic ProgressPromise<List<? extends TResolve>,TProgress> map(ProgressPromise<List<? extends TResolve>,TProgress> promise, Runnable<ProgressPromise<TResolve,TProgress>,TResolve> mapFunc)
ProgressPromise for values to be mapped.promise - a ProgressPromise for a list of values to be mappedmapFunc - a mapping function that returns a promise for a valueProgressPromise that will resolve to a list containing the mapped output values.public <T> ProgressPromise<T,TProgress> reduce(List<ProgressPromise<TResolve,TProgress>> promises, Reducer<T,TResolve> reduceFunc)
ProgressPromises.promises - list of ProgressPromises for values to reducereduceFunc - the reduce functionProgressPromise that will resolve to the final reduced values.public <T> ProgressPromise<T,TProgress> reduce(List<ProgressPromise<TResolve,TProgress>> promises, Reducer<T,TResolve> reduceFunc, T initialValue)
ProgressPromises.promises - list of ProgressPromises for values to reducereduceFunc - the reduce functioninitialValue - the initial value. If null is provided, it will be used as the initial value.ProgressPromise that will resolve to the final reduced values.public <T> ProgressPromise<T,TProgress> reduce(List<ProgressPromise<TResolve,TProgress>> promises, Reducer<T,TResolve> reduceFunc, ProgressPromise<T,TProgress> initialValue)
ProgressPromises.promises - list of ProgressPromises for values to reducereduceFunc - the reduce functioninitialValue - the initial value. If null is provided, it will be used as the initial value.ProgressPromise that will resolve to the final reduced values.public <T> ProgressPromise<T,TProgress> reduce(ProgressPromise<List<TResolve>,TProgress> promise, Reducer<T,TResolve> reduceFunc, T initialValue)
ProgressPromise for a list of values.promise - a ProgressPromise for values to reducereduceFunc - the reduce functioninitialValue - the initial value. If null is provided, it will be used as the initial value.ProgressPromise that will resolve to the final reduced values.public <T> ProgressPromise<T,TProgress> reduce(ProgressPromise<List<TResolve>,TProgress> promise, Reducer<T,TResolve> reduceFunc, ProgressPromise<T,TProgress> initialValue)
ProgressPromise for a list of values.promise - a ProgressPromise for values to reducereduceFunc - the reduce functioninitialValue - the initial value. If null is provided, it will be used as the initial value.ProgressPromise that will resolve to the final reduced values.public <T> ProgressPromise<T,TProgress> reduceValues(List<TResolve> values, Reducer<T,TResolve> reduceFunc)
values - a list of values to reducereduceFunc - the reduce functionProgressPromise for the final reduced values.public <T> ProgressPromise<T,TProgress> reduceValues(List<TResolve> values, Reducer<T,TResolve> reduceFunc, T initialValue)
values - a list of values to reducereduceFunc - the reduce functioninitialValue - the initial value. If null is provided, it will be used as the initial value.ProgressPromise for the final reduced values.public <T> ProgressPromise<T,TProgress> reduceValues(List<TResolve> values, Reducer<T,TResolve> reduceFunc, ProgressPromise<T,TProgress> initialValue)
values - a list of values to reducereduceFunc - the reduce functioninitialValue - the initial value. If null is provided, it will be used as the initial value.ProgressPromise for the final reduced values.public ProgressPromise<TResolve,TProgress> chain(ProgressPromise<TResolve,TProgress> promise, Resolver<TResolve,TProgress> resolver)
promise - the ProgressPromise that when resolved/rejected will trigger the resolver.resolver - the resolver to be triggered.ProgressPromise for the input promisepublic ProgressPromise<TResolve,TProgress> chain(ProgressPromise<TResolve,TProgress> promise, Resolver<TResolve,TProgress> resolver, TResolve resolveValue)
promise - the ProgressPromise that when resolved/rejected will trigger the resolver.resolver - the resolver to be triggered.resolveValue - the value to be provided to the resolver.ProgressPromise for the input promisepublic ProgressPromise<List<TResolve>,TProgress> sequence(List<Runnable<ProgressPromise<TResolve,TProgress>,Void>> tasks)
tasks - tasks to be executedProgressPromise for a list containing the result of each task in the in the list position
corresponding to the position of the task in the task listpublic <TArg> ProgressPromise<List<TResolve>,TProgress> sequence(List<Runnable<ProgressPromise<TResolve,TProgress>,TArg>> tasks, TArg arg)
TArg - the argument type being passed to each tasktasks - tasks to be executedarg - argument to be passed to all tasksProgressPromise for a list containing the result of each task in the in the list position
corresponding to the position of the task in the task listprotected static MonitorApi getMonitorApi()
public static void setNextTick(Executor executor)
executor - public List<ProgressPromise<TResolve,TProgress>> resolveValues(List<? extends TResolve> values)
values - the values to resolveCopyright © 2013-2014 Englishtown. All Rights Reserved.