# 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

## Nested Class Summary

### Nested classes/interfaces inherited from interface Future

`Future.State`

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`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 Object

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

### Methods inherited from interface Future

`exceptionNow, resultNow, state`

## Constructor Details

### ConnectionFuture

public ConnectionFuture(Future<PooledConnection> pcf)

### ConnectionFuture

public ConnectionFuture(PooledConnection pc) throws SQLException

Throws:
  `SQLException`

## Method Details

### 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`