Package org.apache.tomcat.jdbc.pool

## Class ConnectionPool.ConnectionFuture

- java.lang.Object
- - org.apache.tomcat.jdbc.pool.ConnectionPool.ConnectionFuture

All Implemented Interfaces:
  `Runnable`, `Future<Connection>`

Enclosing class:
  ConnectionPool

    protected class ConnectionPool.ConnectionFuture
    extends Object
    implements Future<Connection>, Runnable

Thread safe wrapper around a future for the regular queue This one retrieves the pooled connection object and performs the initialization according to interceptors and validation rules. This class is thread safe and is cancellable

### Constructor Summary

Constructors
`ConnectionFuture​(Future<PooledConnection> pcf)`
`ConnectionFuture​(PooledConnection pc)`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `cancel​(boolean mayInterruptIfRunning)`
`Connection` `get()`
`Connection` `get​(long timeout, TimeUnit unit)`
`boolean` `isCancelled()`
`boolean` `isDone()`
`void` `run()` run method to be executed when cancelled by an executor

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

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

### Constructor Detail

#### ConnectionFuture

    public ConnectionFuture​(Future<PooledConnection> pcf)

#### ConnectionFuture

    public ConnectionFuture​(PooledConnection pc)
                     throws SQLException

Throws:
  `SQLException`

### Method Detail

#### cancel

    public boolean cancel​(boolean mayInterruptIfRunning)

Specified by:
  `cancel` in interface `Future<Connection>`

#### get

    public Connection get()
                   throws InterruptedException,
                          ExecutionException

Specified by:
  `get` in interface `Future<Connection>`
Throws:
  `InterruptedException`
  `ExecutionException`

#### get

    public Connection get​(long timeout,
                          TimeUnit unit)
                   throws InterruptedException,
                          ExecutionException,
                          TimeoutException

Specified by:
  `get` in interface `Future<Connection>`
Throws:
  `InterruptedException`
  `ExecutionException`
  `TimeoutException`

#### isCancelled

    public boolean isCancelled()

Specified by:
  `isCancelled` in interface `Future<Connection>`

#### isDone

    public boolean isDone()

Specified by:
  `isDone` in interface `Future<Connection>`

#### run

    public void run()

run method to be executed when cancelled by an executor

Specified by:
  `run` in interface `Runnable`