# Class AbstractFutureProxy<V>

java.lang.Object
org.apache.commons.lang3.concurrent.AbstractFutureProxy<V>

Type Parameters:
  `V` - The result type returned by this Future's `get()` and `get(long, TimeUnit)` methods.

All Implemented Interfaces:
  `Future<V>`

public abstract class AbstractFutureProxy<V> extends Object implements Future<V>
Proxies to a `Future` for subclassing.

Since:
  3.13.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractFutureProxy(Future<V> future)`
  Constructs a new instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `cancel(boolean mayInterruptIfRunning)`
  `V`
  `get()`
  `V`
  `get(long timeout, TimeUnit unit)`
  `Future<V>`
  `getFuture()`
  Gets the delegate.
  `boolean`
  `isCancelled()`
  `boolean`
  `isDone()`

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### AbstractFutureProxy

    public AbstractFutureProxy(Future<V> future)
    Constructs a new instance.
    Parameters:
      `future` - the delegate.

- ## Method Details

  - ### cancel

    public boolean cancel(boolean mayInterruptIfRunning)
    Specified by:
      `cancel` in interface `Future<V>`

  - ### get

    public V get() throws InterruptedException, ExecutionException
    Specified by:
      `get` in interface `Future<V>`
    Throws:
      `InterruptedException`
      `ExecutionException`

  - ### get

    public V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
    Specified by:
      `get` in interface `Future<V>`
    Throws:
      `InterruptedException`
      `ExecutionException`
      `TimeoutException`

  - ### getFuture

    public Future<V> getFuture()
    Gets the delegate.
    Returns:
      the delegate.

  - ### isCancelled

    public boolean isCancelled()
    Specified by:
      `isCancelled` in interface `Future<V>`

  - ### isDone

    public boolean isDone()
    Specified by:
      `isDone` in interface `Future<V>`