Interface Deferred<D>

Type Parameters:
D - Type used for resolve(Object)
F - Type used for #reject(Object)
All Superinterfaces:
Promise<D>, Supplier<D>
All Known Implementing Classes:
DeferredObject

public interface Deferred<D> extends Promise<D>
Deferred interface to trigger an event (resolve, reject, notify). Subsequently, this will allow Promise observers to listen in on the event (done, fail, progress).
Author:
Ray Tsang
See Also:
  • Method Details

    • resolve

      Deferred<D> resolve(D resolve)
      This should be called when a task has completed successfully.

       
       Deferred deferredObject = new DeferredObject();
       Promise promise = deferredObject.promise();
       promise.done(new DoneCallback() {
         public void onDone(Object result) {
              // Done!
         }
       });
      
       // another thread using the same deferredObject
       deferredObject.resolve("OK");
      
       
       
      Parameters:
      resolve - the resolved value for this Deferred
      Returns:
      the reference to this Deferred instance.
    • reject

      <F extends Throwable> Deferred<D> reject(F reject)
      This should be called when a task has completed unsuccessfully, i.e., a failure may have occurred.

       
       Deferred deferredObject = new DeferredObject();
       Promise promise = deferredObject.promise();
       promise.fail(new FailCallback() {
         public void onFail(Object result) {
              // Failed :(
         }
       });
      
       // another thread using the same deferredObject
       deferredObject.reject("BAD");
      
       
       
      Parameters:
      reject - the rejected value for this Deferred
      Returns:
      the reference to this Deferred instance.
    • promise

      Promise<D> promise()
      Return an Promise instance (i.e., an observer). You can register callbacks in this observer.
      Returns:
      the reference to this Deferred instance as a Promise,