## com.google.appengine.api.utils
Class FutureWrapper<K,V>

    java.lang.Object
      com.google.appengine.api.utils.FutureWrapper<K,V>

Type Parameters:
  `K` - The type of this `Future`
  `V` - The type of the wrapped `Future`

All Implemented Interfaces:
  java.util.concurrent.Future<V>

    public abstract class FutureWrapper<K,V>

extends java.lang.Object
implements java.util.concurrent.Future<V>

`FutureWrapper` is a simple `Future` that wraps a parent `Future`. This class is thread-safe.

Constructor Summary
`FutureWrapper(java.util.concurrent.Future<K> parent)`

Method Summary
`boolean` `cancel(boolean mayInterruptIfRunning)`
`boolean` `equals(java.lang.Object obj)`
`V` `get()`
`V` `get(long timeout, java.util.concurrent.TimeUnit unit)`
`int` `hashCode()`
`boolean` `isCancelled()`
`boolean` `isDone()`

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### FutureWrapper

    public FutureWrapper(java.util.concurrent.Future<K> parent)

Method Detail

### cancel

    public boolean cancel(boolean mayInterruptIfRunning)

  Specified by:
    `cancel` in interface `java.util.concurrent.Future<V>`

### isCancelled

    public boolean isCancelled()

  Specified by:
    `isCancelled` in interface `java.util.concurrent.Future<V>`

### isDone

    public boolean isDone()

  Specified by:
    `isDone` in interface `java.util.concurrent.Future<V>`

### get

    public V get()
          throws java.util.concurrent.ExecutionException,
                 java.lang.InterruptedException

  Specified by:
    `get` in interface `java.util.concurrent.Future<V>`
  Throws:
    `java.util.concurrent.ExecutionException`
    `java.lang.InterruptedException`

### get

    public V get(long timeout,
                 java.util.concurrent.TimeUnit unit)
          throws java.lang.InterruptedException,
                 java.util.concurrent.TimeoutException,
                 java.util.concurrent.ExecutionException

  Specified by:
    `get` in interface `java.util.concurrent.Future<V>`
  Throws:
    `java.lang.InterruptedException`
    `java.util.concurrent.TimeoutException`
    `java.util.concurrent.ExecutionException`

### hashCode

    public final int hashCode()

  Overrides:
    `hashCode` in class `java.lang.Object`

### equals

    public final boolean equals(java.lang.Object obj)

  Overrides:
    `equals` in class `java.lang.Object`