@Override public <T> Future<T> future() { return new FutureImpl<>(); }
/** * Set a handler for the result. It will get called when it's complete */ public Future<T> setHandler(Handler<AsyncResult<T>> handler) { boolean callHandler; synchronized (this) { callHandler = isComplete(); if (!callHandler) { this.handler = handler; } } if (callHandler) { handler.handle(this); } return this; }
@Override public boolean tryComplete() { return tryComplete(null); }
@Override public void fail(Throwable cause) { if (!tryFail(cause)) { throw new IllegalStateException("Result is already complete: " + (succeeded ? "succeeded" : "failed")); } }
@Override public void complete() { if (!tryComplete()) { throw new IllegalStateException("Result is already complete: " + (succeeded ? "succeeded" : "failed")); } }
@Override public void fail(String failureMessage) { if (!tryFail(failureMessage)) { throw new IllegalStateException("Result is already complete: " + (succeeded ? "succeeded" : "failed")); } }
@Override public void complete(T result) { if (!tryComplete(result)) { throw new IllegalStateException("Result is already complete: " + (succeeded ? "succeeded" : "failed")); } }
@Override public boolean tryFail(String failureMessage) { return tryFail(new NoStackTraceThrowable(failureMessage)); }
@Override public <T> Future<T> future() { return new FutureImpl<>(); }
/** * Set a handler for the result. It will get called when it's complete */ public Future<T> setHandler(Handler<AsyncResult<T>> handler) { boolean callHandler; synchronized (this) { callHandler = isComplete(); if (!callHandler) { this.handler = handler; } } if (callHandler) { handler.handle(this); } return this; }
@Override public boolean tryComplete() { return tryComplete(null); }
@Override public void fail(String failureMessage) { if (!tryFail(failureMessage)) { throw new IllegalStateException("Result is already complete: " + (succeeded ? "succeeded" : "failed")); } }
@Override public void complete() { if (!tryComplete()) { throw new IllegalStateException("Result is already complete: " + (succeeded ? "succeeded" : "failed")); } }
@Override public void fail(Throwable cause) { if (!tryFail(cause)) { throw new IllegalStateException("Result is already complete: " + (succeeded ? "succeeded" : "failed")); } }
@Override public void complete(T result) { if (!tryComplete(result)) { throw new IllegalStateException("Result is already complete: " + (succeeded ? "succeeded" : "failed")); } }
@Override public boolean tryFail(String failureMessage) { return tryFail(new NoStackTraceThrowable(failureMessage)); }