com.google.appengine.api.datastore
Class FutureHelper
- java.lang.Object
-
- com.google.appengine.api.datastore.FutureHelper
-
public final class FutureHelper extends java.lang.Object
Utilities for working withFutures
in the synchronous datastore api.
-
-
Constructor Summary
Constructors Constructor and Description FutureHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static <T> T
quietGet(java.util.concurrent.Future<T> future)
Return the result of the providedFuture
, converting all checked exceptions to unchecked exceptions so the caller doesn't have to handle them.static <T,E extends java.lang.Exception>
TquietGet(java.util.concurrent.Future<T> future, java.lang.Class<E> exceptionClass)
Return the result of the providedFuture
, converting all checked exceptions except those of the provided type to unchecked exceptions so the caller doesn't have to handle them.
-
-
-
Method Detail
-
quietGet
public static <T> T quietGet(java.util.concurrent.Future<T> future)
Return the result of the providedFuture
, converting all checked exceptions to unchecked exceptions so the caller doesn't have to handle them. If anExecutionException
is thrown the cause is wrapped in aRuntimeException
. If anInterruptedException
is thrown it is wrapped in aDatastoreFailureException
.- Type Parameters:
T
- The type of the provided Future.- Parameters:
future
- The Future whose result we want to return.- Returns:
- The result of the provided Future.
-
quietGet
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
Return the result of the providedFuture
, converting all checked exceptions except those of the provided type to unchecked exceptions so the caller doesn't have to handle them. If anExecutionException
is thrown and the type of the cause does not equalexceptionClass
the cause is wrapped in aRuntimeException
. If the type of the cause does equalexceptionClass
the cause itself is thrown. If anInterruptedException
is thrown it is wrapped in aDatastoreFailureException
.- Type Parameters:
T
- The type of the provided Future.- Parameters:
future
- The Future whose result we want to return.exceptionClass
- Exceptions of this type will be rethrown.- Returns:
- The result of the provided Future.
- Throws:
E
- Thrown If an ExecutionException with a cause of the appropriate type is caught.E extends java.lang.Exception
-
-