/** * Return a resolved PromiseImpl if this DeferredPromiseImpl is resolved. * * @return A ResolvedPromiseImpl holding the value of this * DeferredPromiseImpl or a FailedPromiseImpl holding the failure of * this DeferredPromiseImpl or this DeferredPromiseImpl if this * DeferredPromiseImpl is not resolved. */ PromiseImpl<T> orDone() { // ensure latch open before reading state if (!isDone()) { return this; } if (fail == null) { return resolved(value); } return failed(fail); }
/** * Return a resolved PromiseImpl if this DeferredPromiseImpl is resolved. * * @return A ResolvedPromiseImpl holding the value of this * DeferredPromiseImpl or a FailedPromiseImpl holding the failure of * this DeferredPromiseImpl or this DeferredPromiseImpl if this * DeferredPromiseImpl is not resolved. */ PromiseImpl<T> orDone() { // ensure latch open before reading state if (!isDone()) { return this; } if (fail == null) { return resolved(value); } return failed(fail); }
/** * Return a resolved PromiseImpl if this DeferredPromiseImpl is resolved. * * @return A ResolvedPromiseImpl holding the value of this * DeferredPromiseImpl or a FailedPromiseImpl holding the failure of * this DeferredPromiseImpl or this DeferredPromiseImpl if this * DeferredPromiseImpl is not resolved. */ PromiseImpl<T> orDone() { // ensure latch open before reading state if (!isDone()) { return this; } if (fail == null) { return resolved(value); } return failed(fail); }
/** * Return a resolved PromiseImpl if this DeferredPromiseImpl is resolved. * * @return A ResolvedPromiseImpl holding the value of this * DeferredPromiseImpl or a FailedPromiseImpl holding the failure of * this DeferredPromiseImpl or this DeferredPromiseImpl if this * DeferredPromiseImpl is not resolved. */ PromiseImpl<T> orDone() { // ensure latch open before reading state if (!isDone()) { return this; } if (fail == null) { return resolved(value); } return failed(fail); }
/** * Return a resolved PromiseImpl if this DeferredPromiseImpl is resolved. * * @return A ResolvedPromiseImpl holding the value of this * DeferredPromiseImpl or a FailedPromiseImpl holding the failure of * this DeferredPromiseImpl or this DeferredPromiseImpl if this * DeferredPromiseImpl is not resolved. */ PromiseImpl<T> orDone() { // ensure latch open before reading state if (!isDone()) { return this; } if (fail == null) { return resolved(value); } return failed(fail); }
/** * Return a resolved PromiseImpl if this DeferredPromiseImpl is resolved. * * @return A ResolvedPromiseImpl holding the value of this * DeferredPromiseImpl or a FailedPromiseImpl holding the failure of * this DeferredPromiseImpl or this DeferredPromiseImpl if this * DeferredPromiseImpl is not resolved. */ PromiseImpl<T> orDone() { // ensure latch open before reading state if (!isDone()) { return this; } if (fail == null) { return resolved(value); } return failed(fail); }
/** * Return a resolved PromiseImpl if this DeferredPromiseImpl is resolved. * * @return A ResolvedPromiseImpl holding the value of this * DeferredPromiseImpl or a FailedPromiseImpl holding the failure of * this DeferredPromiseImpl or this DeferredPromiseImpl if this * DeferredPromiseImpl is not resolved. */ PromiseImpl<T> orDone() { // ensure latch open before reading state if (!isDone()) { return this; } if (fail == null) { return resolved(value); } return failed(fail); }