/** * Overwritten to change result, if necessary. */ @Override public boolean doSetResult(Object result, boolean undone) { try { result = func.handleResult(result); return DelegatingFuture.super.doSetResult(result, func.isUndone(undone)); } catch(Exception e) { return doSetException(e, func.isUndone(undone)); } }
Future<Object> fut = new DelegatingFuture(func); ((Future<Object>)orig).addResultListener(new DelegationResultListener<Object>(fut)); ret = fut;
ret = new DelegatingFuture(func);
ret = new DelegatingFuture(func);
Future<Object> fut = new DelegatingFuture(func); ((Future<Object>)orig).addResultListener(new DelegationResultListener<Object>(fut)); ret = fut;