@Override public void run() { try { callback.handleResult(future.get()); } catch (InterruptedException e) { Thread.currentThread().interrupt(); callback.handleFailure(e); throw new RuntimeException(e); } catch (ExecutionException e) { callback.handleFailure(e.getCause()); } catch (CancellationException e) { callback.handleFailure(e); } } }
@Override public void addCallback(FutureCallback<? super T> callback) { callback.handleFailure(failure); }
@Override public void addCallback(FutureCallback<? super T> callback) { callback.handleResult(result); }
@Override public void addCallback(FutureCallback<? super T> callback) { callback.handleFailure(failure); }
@Override public void addCallback(FutureCallback<? super T> callback) { callback.handleResult(result); }
@Override public void run() { try { callback.handleResult(future.get()); } catch (InterruptedException e) { Thread.currentThread().interrupt(); callback.handleFailure(e); throw new RuntimeException(e); } catch (ExecutionException e) { callback.handleFailure(e.getCause()); } catch (CancellationException e) { callback.handleFailure(e); } } }
@Override public void addCallback(FutureCallback<? super T> callback, Executor executor, ListenerOptimizationStrategy optimize) { CancellationException e = new CancellationException(cancelMessage); if (executor == null | optimize == ListenerOptimizationStrategy.SingleThreadIfExecutorMatchOrDone) { callback.handleFailure(e); } else { executor.execute(() -> callback.handleFailure(e)); } }
@Override public void addCallback(FutureCallback<? super T> callback, Executor executor, ListenerOptimizationStrategy optimize) { if (executor == null | optimize == ListenerOptimizationStrategy.SingleThreadIfExecutorMatchOrDone) { callback.handleResult(result); } else { executor.execute(new CallbackInvokingTask(callback)); } }
callback.handleResult(result); return; } else if (failure != null) { callback.handleFailure(failure); return; } else if (cancelStateMessage != null) { callback.handleFailure(new CancellationException(getCancellationExceptionMessage())); return; callback.handleFailure(failure); } else if (cancelStateMessage != null) { callback.handleFailure(new CancellationException(getCancellationExceptionMessage())); } else { callback.handleResult(result);
@Override public void addCallback(FutureCallback<? super T> callback, Executor executor, ListenerOptimizationStrategy optimize) { CancellationException e = new CancellationException(cancelMessage); if (executor == null | optimize == ListenerOptimizationStrategy.SingleThreadIfExecutorMatchOrDone) { callback.handleFailure(e); } else { executor.execute(() -> callback.handleFailure(e)); } }
@Override public void addCallback(FutureCallback<? super T> callback, Executor executor, ListenerOptimizationStrategy optimize) { if (executor == null | optimize == ListenerOptimizationStrategy.SingleThreadIfExecutorMatchOrDone) { callback.handleResult(result); } else { executor.execute(new CallbackInvokingTask(callback)); } }
callback.handleResult(result); return; } else if (failure != null) { callback.handleFailure(failure); return; } else if (cancelStateMessage != null) { callback.handleFailure(new CancellationException(getCancellationExceptionMessage())); return; callback.handleFailure(failure); } else if (cancelStateMessage != null) { callback.handleFailure(new CancellationException(getCancellationExceptionMessage())); } else { callback.handleResult(result);
@Override public void addCallback(FutureCallback<? super T> callback) { callback.handleFailure(new CancellationException(cancelMessage)); }
callback.handleResult(get()); } catch (InterruptedException e) { callback.handleFailure(e); } catch (ExecutionException e) { callback.handleFailure(e.getCause()); } catch (CancellationException e) { callback.handleFailure(e); callback.handleResult(get()); } catch (InterruptedException e) { callback.handleFailure(e); } catch (ExecutionException e) { callback.handleFailure(e.getCause()); } catch (CancellationException e) { callback.handleFailure(e);
@Override public void addCallback(FutureCallback<? super T> callback) { callback.handleFailure(new CancellationException(cancelMessage)); }
callback.handleResult(get()); } catch (InterruptedException e) { callback.handleFailure(e); } catch (ExecutionException e) { callback.handleFailure(e.getCause()); } catch (CancellationException e) { callback.handleFailure(e); callback.handleResult(get()); } catch (InterruptedException e) { callback.handleFailure(e); } catch (ExecutionException e) { callback.handleFailure(e.getCause()); } catch (CancellationException e) { callback.handleFailure(e);
@Override public void addCallback(FutureCallback<? super T> callback, Executor executor, ListenerOptimizationStrategy optimize) { if (executor == null | optimize == ListenerOptimizationStrategy.SingleThreadIfExecutorMatchOrDone) { callback.handleFailure(failure); } else { executor.execute(new CallbackInvokingTask(callback)); } }
public void deligateCalledTest() { Throwable failure = new Exception(); TestExceptionHandler handler = new TestExceptionHandler(); FutureCallback<Object> adapter = new FutureCallbackExceptionHandlerAdapter(handler); adapter.handleResult(new Object()); // ignored adapter.handleFailure(failure); assertTrue(failure == handler.getLastThrowable()); } }
@Override public void addCallback(FutureCallback<? super T> callback, Executor executor, ListenerOptimizationStrategy optimize) { if (executor == null | optimize == ListenerOptimizationStrategy.SingleThreadIfExecutorMatchOrDone) { callback.handleFailure(failure); } else { executor.execute(new CallbackInvokingTask(callback)); } }