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

Tread 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

Author:
  fhanik

### Constructor Summary

Constructors
Constructor and Description
`ConnectionPool.ConnectionFuture(Future<PooledConnection> pcf)`
`ConnectionPool.ConnectionFuture(PooledConnection pc)`

### Method Summary

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

#### ConnectionPool.ConnectionFuture

    public ConnectionPool.ConnectionFuture(Future<PooledConnection> pcf)

#### ConnectionPool.ConnectionFuture

    public ConnectionPool.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`