# Package org.apache.tomcat.dbcp.pool2

- Interface Summary
  Interface | Description
  --- | ---
  KeyedObjectPool<K,​V> | A "keyed" pooling interface.
  KeyedPooledObjectFactory<K,​V> | An interface defining life-cycle methods for instances to be served by a `KeyedObjectPool`.
  ObjectPool<T> | A pooling simple interface.
  PooledObject<T> | Defines the wrapper that is used to track the additional information, such as state, for the pooled objects.
  PooledObjectFactory<T> | An interface defining life-cycle methods for instances to be served by an `ObjectPool`.
  SwallowedExceptionListener | Pools that unavoidably swallow exceptions may be configured with an instance of this listener so the user may receive notification of when this happens.
  TrackedUse | Allows pooled objects to make information available about when and how they were used available to the object pool.
  UsageTracking<T> | This interface may be implemented by an object pool to enable clients (primarily those clients that wrap pools to provide pools with extended features) to provide additional information to the pool relating to object using allowing more informed decisions and reporting to be made regarding abandoned objects.

- Class Summary
  Class | Description
  --- | ---
  BaseObject | A base class for common functionality.
  BaseObjectPool<T> | A simple base implementation of `ObjectPool`.
  PoolUtils | This class consists exclusively of static methods that operate on or return ObjectPool or KeyedObjectPool related interfaces.

- Enum Summary
  Enum | Description
  --- | ---
  DestroyMode | Destroy context provided to object factories via `destroyObject` and `invalidateObject` methods.
  PooledObjectState | Provides all possible states of a `PooledObject`.