play.utils

## Class SmartFuture<V>

- java.lang.Object
- - play.utils.SmartFuture<V>

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

    public class SmartFuture<V>
    extends java.lang.Object
    implements java.util.concurrent.Future<V>, Action<V>

### Constructor Summary

Constructors
Constructor and Description
`SmartFuture()`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `cancel(boolean mayInterruptIfRunning)`
`V` `get()`
`V` `get(long timeout, java.util.concurrent.TimeUnit unit)`
`void` `invoke(V result)`
`boolean` `isCancelled()`
`boolean` `isDone()`
`void` `onCompletion(Action<V> callback)`
`void` `wrap(java.util.concurrent.Future<V> innerFuture)`

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

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

### Constructor Detail

#### SmartFuture

    public SmartFuture()

### Method Detail

#### wrap

    public void wrap(java.util.concurrent.Future<V> innerFuture)

#### 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.lang.InterruptedException,
                 java.util.concurrent.ExecutionException

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

#### get

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

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

#### invoke

    public void invoke(V result)

Specified by:
  `invoke` in interface `Action<V>`

#### onCompletion

    public void onCompletion(Action<V> callback)