public final class FutureHelper
extends java.lang.Object
Futures in the synchronous datastore api.| Constructor and Description |
|---|
FutureHelper() |
| Modifier and Type | Method and Description |
|---|---|
static <T> T |
quietGet(java.util.concurrent.Future<T> future)
Return the result of the provided
Future, converting all checked exceptions to
unchecked exceptions so the caller doesn't have to handle them. |
static <T,E extends java.lang.Exception> |
quietGet(java.util.concurrent.Future<T> future,
java.lang.Class<E> exceptionClass)
Return the result of the provided
Future, converting all checked exceptions except
those of the provided type to unchecked exceptions so the caller doesn't have to handle them. |
public static <T> T quietGet(java.util.concurrent.Future<T> future)
Future, converting all checked exceptions to
unchecked exceptions so the caller doesn't have to handle them. If an ExecutionException is thrown the cause is wrapped in a RuntimeException. If an InterruptedException is thrown it is wrapped in a DatastoreFailureException.T - The type of the provided Future.future - The Future whose result we want to return.public static <T,E extends java.lang.Exception> T quietGet(java.util.concurrent.Future<T> future,
java.lang.Class<E> exceptionClass)
throws E extends java.lang.Exception
Future, converting all checked exceptions except
those of the provided type to unchecked exceptions so the caller doesn't have to handle them.
If an ExecutionException is thrown and the type of the cause does
not equal exceptionClass the cause is wrapped in a RuntimeException. If the
type of the cause does equal exceptionClass the cause itself is thrown. If an InterruptedException is thrown it is wrapped in a DatastoreFailureException.T - The type of the provided Future.future - The Future whose result we want to return.exceptionClass - Exceptions of this type will be rethrown.E - Thrown If an ExecutionException with a cause of the appropriate type is caught.E extends java.lang.Exception