@Beta public interface CheckedFuture<V,X extends Exception> extends ListenableFuture<V>
CheckedFuture is a ListenableFuture that includes versions
of the get methods that can throw a checked exception. This makes it
easier to create a future that executes logic which can throw an exception.
A common implementation is Futures.immediateCheckedFuture(V).
Implementations of this interface must adapt the exceptions thrown by
Future#get(): CancellationException,
ExecutionException and InterruptedException into the type
specified by the X type parameter.
This interface also extends the ListenableFuture interface to allow
listeners to be added. This allows the future to be used as a normal
Future or as an asynchronous callback mechanism as needed. This
allows multiple callbacks to be registered for a particular task, and the
future will guarantee execution of all listeners when the task completes.
For a simpler alternative to CheckedFuture, consider accessing Future
values with Futures.get().
| Modifier and Type | Method and Description |
|---|---|
V |
checkedGet()
Exception checking version of
Future.get() that will translate
InterruptedException, CancellationException and
ExecutionException into application-specific exceptions. |
V |
checkedGet(long timeout,
TimeUnit unit)
Exception checking version of
Future.get(long, TimeUnit) that will
translate InterruptedException, CancellationException and
ExecutionException into application-specific exceptions. |
addListenerV checkedGet() throws X extends Exception
Future.get() that will translate
InterruptedException, CancellationException and
ExecutionException into application-specific exceptions.V checkedGet(long timeout, TimeUnit unit) throws TimeoutException, X extends Exception
Future.get(long, TimeUnit) that will
translate InterruptedException, CancellationException and
ExecutionException into application-specific exceptions. On
timeout this method throws a normal TimeoutException.TimeoutException - if retrieving the result timed out.X - on interruption, cancellation or execution exceptions.X extends ExceptionCopyright © 2010-2014. All Rights Reserved.