Package org.apache.tomcat.jdbc.pool

## Class FairBlockingQueue.ItemFuture<T>

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

All Implemented Interfaces:
  `java.util.concurrent.Future<T>`

Enclosing class:
  FairBlockingQueue<E>

    protected class FairBlockingQueue.ItemFuture<T>
    extends java.lang.Object
    implements java.util.concurrent.Future<T>

### Field Summary

Fields
`protected boolean` `canceled`
`protected T` `item`
`protected FairBlockingQueue.ExchangeCountDownLatch<T>` `latch`

### Constructor Summary

Constructors
`ItemFuture​(FairBlockingQueue.ExchangeCountDownLatch<T> latch)`
`ItemFuture​(T item)`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `cancel​(boolean mayInterruptIfRunning)`
`T` `get()`
`T` `get​(long timeout, java.util.concurrent.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 Detail

#### item

    protected volatile T item

#### latch

    protected volatile FairBlockingQueue.ExchangeCountDownLatch<T> latch

#### canceled

    protected volatile boolean canceled

### Constructor Detail

#### ItemFuture

    public ItemFuture​(T item)

#### ItemFuture

    public ItemFuture​(FairBlockingQueue.ExchangeCountDownLatch<T> latch)

### Method Detail

#### cancel

    public boolean cancel​(boolean mayInterruptIfRunning)

Specified by:
  `cancel` in interface `java.util.concurrent.Future<T>`

#### get

    public T get()
          throws java.lang.InterruptedException,
                 java.util.concurrent.ExecutionException

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

#### get

    public T 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<T>`
Throws:
  `java.lang.InterruptedException`
  `java.util.concurrent.ExecutionException`
  `java.util.concurrent.TimeoutException`

#### isCancelled

    public boolean isCancelled()

Specified by:
  `isCancelled` in interface `java.util.concurrent.Future<T>`

#### isDone

    public boolean isDone()

Specified by:
  `isDone` in interface `java.util.concurrent.Future<T>`