Package org.apache.tomcat.jdbc.pool

# Class MultiLockFairBlockingQueue.ItemFuture<T>

java.lang.Object
org.apache.tomcat.jdbc.pool.MultiLockFairBlockingQueue.ItemFuture<T>

All Implemented Interfaces:
  `Future<T>`

Enclosing class:
  MultiLockFairBlockingQueue<E>

protected class MultiLockFairBlockingQueue.ItemFuture<T> extends Object implements Future<T>

## Field Summary

Fields
Modifier and Type
Field
Description
`protected boolean`
`canceled`
`protected T`
`item`
`protected MultiLockFairBlockingQueue<E>.ExchangeCountDownLatch<T>`
`latch`

## Constructor Summary

Constructors
Constructor
Description
`ItemFuture(MultiLockFairBlockingQueue<E>.ExchangeCountDownLatch<T> latch)`
`ItemFuture(T item)`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`cancel(boolean mayInterruptIfRunning)`
`T`
`get()`
`T`
`get(long timeout, TimeUnit unit)`
`boolean`
`isCancelled()`
`boolean`
`isDone()`

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

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

## Field Details

### item

protected volatile T item

### latch

protected volatile MultiLockFairBlockingQueue<E>.ExchangeCountDownLatch<T> latch

### canceled

protected volatile boolean canceled

## Constructor Details

### ItemFuture

public ItemFuture(T item)

### ItemFuture

public ItemFuture(MultiLockFairBlockingQueue<E>.ExchangeCountDownLatch<T> latch)

## Method Details

### cancel

public boolean cancel(boolean mayInterruptIfRunning)

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

### get

public T get() throws InterruptedException, ExecutionException

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

### get

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

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

### isCancelled

public boolean isCancelled()

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

### isDone

public boolean isDone()

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