public interface CheckedFuture<V,X extends Exception>
extends org.apache.drill.shaded.guava.com.google.common.util.concurrent.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.
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.getChecked().
This interface is moved from Guava, since there it was deleted.
| 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. |
V 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 © 2021 The Apache Software Foundation. All rights reserved.