Class DeferredObject<D>
java.lang.Object
cn.dinodev.spring.commons.promise.AbstractPromise<D>
cn.dinodev.spring.commons.promise.DeferredObject<D>
An implementation of
Deferred interface.
final Deferred deferredObject = new DeferredObject
Promise promise = deferredObject.promise();
promise
.done(new DoneCallback() { ... })
.fail(new FailCallback() { ... })
.progress(new ProgressCallback() { ... });
Runnable runnable = new Runnable() {
public void run() {
int sum = 0;
for (int i = 0; i < 100; i++) {
// something that takes time
sum += i;
deferredObject.notify(i);
}
deferredObject.resolve(sum);
}
}
// submit the task to run
- Author:
- Ray Tsang
- See Also:
-
DoneCallbackFailCallback
-
Nested Class Summary
Nested classes/interfaces inherited from class cn.dinodev.spring.commons.promise.AbstractPromise
AbstractPromise.CallbackTypeNested classes/interfaces inherited from interface cn.dinodev.spring.commons.promise.Promise
Promise.State -
Field Summary
Fields inherited from class cn.dinodev.spring.commons.promise.AbstractPromise
alwaysCallbacks, doneCallbacks, failCallbacks, rejectResult, resolveResult, state -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class cn.dinodev.spring.commons.promise.AbstractPromise
always, done, fail, get, getOrElse, getOrElse, handleException, isPending, isRejected, isResolved, state, then, then, triggerAlways, triggerAlways, triggerDone, triggerDone, triggerFail, triggerFail, waitSafely, waitSafelyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface cn.dinodev.spring.commons.promise.Promise
always, done, fail, getOrElse, getOrElse, isPending, isRejected, isResolved, state, then, then, waitSafely, waitSafely
-
Constructor Details
-
DeferredObject
public DeferredObject()
-
-
Method Details
-
resolve
Description copied from interface:DeferredThis should be called when a task has completed successfully.DeferreddeferredObject = newDeferredObject();Promisepromise = deferredObject.promise(); promise.done(newDoneCallback() { public void onDone(Object result) { // Done! } }); // another thread using the same deferredObject deferredObject.resolve("OK"); -
reject
Description copied from interface:DeferredThis should be called when a task has completed unsuccessfully, i.e., a failure may have occurred.DeferreddeferredObject = newDeferredObject();Promisepromise = deferredObject.promise(); promise.fail(newFailCallback() { public void onFail(Object result) { // Failed :( } }); // another thread using the same deferredObject deferredObject.reject("BAD"); -
promise
Description copied from interface:DeferredReturn anPromiseinstance (i.e., an observer). You can register callbacks in this observer.
-