FairBlockingQueue.ItemFuture (Apache Tomcat 9.0.111 API Documentation)
Description: declaration: package: org.apache.tomcat.jdbc.pool, class: FairBlockingQueue, class: ItemFuture

# Class FairBlockingQueue.ItemFuture<T>

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

All Implemented Interfaces:
  `Future<T>`

Enclosing class:
  `FairBlockingQueue<E>`

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

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Future

  `Future.State`

- ## Field Summary

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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ItemFuture(FairBlockingQueue<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 Object

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

  ### Methods inherited from interface Future

  `exceptionNow, resultNow, state`

- ## Field Details

  - ### item

    protected volatile T item

  - ### latch

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

  - ### canceled

    protected volatile boolean canceled

- ## Constructor Details

  - ### ItemFuture

    public ItemFuture(T item)

  - ### ItemFuture

    public ItemFuture(FairBlockingQueue<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>`