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.ExchangeCountDownLatch<T>` | `latch` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ItemFuture​(MultiLockFairBlockingQueue.ExchangeCountDownLatch<T> latch)` |
    `ItemFuture​(T item)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    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 Detail

    - #### item

          protected volatile T item

    - #### latch

          protected volatile MultiLockFairBlockingQueue.ExchangeCountDownLatch<T> latch

    - #### canceled

          protected volatile boolean canceled

  - ### Constructor Detail

    - #### ItemFuture

          public ItemFuture​(T item)

    - #### ItemFuture

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

  - ### Method Detail

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