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 with `Futures` 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 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> T` | `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.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FutureHelper

          public FutureHelper()

  - ### Method Detail

    - #### quietGet

          public 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. If an `ExecutionException` is thrown the cause is wrapped in a `RuntimeException`. If an `InterruptedException` is thrown it is wrapped in a `DatastoreFailureException`.
      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 provided `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`.
      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`