Class FutureHelper

java.lang.Object
com.google.appengine.api.datastore.FutureHelper

public final class FutureHelper extends Object
Utilities for working with Futures in the synchronous datastore api.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static <T> T
    quietGet(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 Exception>
    T
    quietGet(Future<T> future, 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 Details

    • FutureHelper

      public FutureHelper()
  • Method Details

    • quietGet

      public static <T> T quietGet(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 Exception> T quietGet(Future<T> future, Class<E> exceptionClass) throws E
      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.