org.apache.tomcat.dbcp.pool

## Class BaseKeyedPoolableObjectFactory<K,V>

- java.lang.Object
- - org.apache.tomcat.dbcp.pool.BaseKeyedPoolableObjectFactory<K,V>

- Type Parameters:
    `K` - the type of keys in this pool
    `V` - the type of objects held in this pool
  All Implemented Interfaces:
    KeyedPoolableObjectFactory<K,V>

      public abstract class BaseKeyedPoolableObjectFactory<K,V>
      extends java.lang.Object
      implements KeyedPoolableObjectFactory<K,V>

  A base implementation of `KeyedPoolableObjectFactory`.

  All operations defined here are essentially no-op's.

  Since:
    Pool 1.0
  Author:
    Rodney Waldhoff
  See Also:
    `KeyedPoolableObjectFactory`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BaseKeyedPoolableObjectFactory()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `activateObject(K key, V obj)` Reinitialize an instance to be returned by the pool.
    `void` | `destroyObject(K key, V obj)` Destroy an instance no longer needed by the pool.
    `abstract V` | `makeObject(K key)` Create an instance that can be served by the pool.
    `void` | `passivateObject(K key, V obj)` Uninitialize an instance to be returned to the idle object pool.
    `boolean` | `validateObject(K key, V obj)` Ensures that the instance is safe to be returned by the pool.

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

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

- - ### Constructor Detail

    - #### BaseKeyedPoolableObjectFactory

          public BaseKeyedPoolableObjectFactory()

  - ### Method Detail

    - #### makeObject

          public abstract V makeObject(K key)
                                throws java.lang.Exception

      Create an instance that can be served by the pool.
      Specified by:
        `makeObject` in interface `KeyedPoolableObjectFactory<K,V>`
      Parameters:
        `key` - the key used when constructing the object
      Returns:
        an instance that can be served by the pool
      Throws:
        `java.lang.Exception` - if there is a problem creating a new instance, this will be propagated to the code requesting an object.

    - #### destroyObject

          public void destroyObject(K key,
                           V obj)
                             throws java.lang.Exception

      Destroy an instance no longer needed by the pool.

      The default implementation is a no-op.

      Specified by:
        `destroyObject` in interface `KeyedPoolableObjectFactory<K,V>`
      Parameters:
        `key` - the key used when selecting the instance
        `obj` - the instance to be destroyed
      Throws:
        `java.lang.Exception` - should be avoided as it may be swallowed by the pool implementation.
      See Also:
        `KeyedPoolableObjectFactory.validateObject(K, V)`, `KeyedObjectPool.invalidateObject(K, V)`

    - #### validateObject

          public boolean validateObject(K key,
                               V obj)

      Ensures that the instance is safe to be returned by the pool.

      The default implementation always returns `true`.

      Specified by:
        `validateObject` in interface `KeyedPoolableObjectFactory<K,V>`
      Parameters:
        `key` - the key used when selecting the object
        `obj` - the instance to be validated
      Returns:
        always `true` in the default implementation

    - #### activateObject

          public void activateObject(K key,
                            V obj)
                              throws java.lang.Exception

      Reinitialize an instance to be returned by the pool.

      The default implementation is a no-op.

      Specified by:
        `activateObject` in interface `KeyedPoolableObjectFactory<K,V>`
      Parameters:
        `key` - the key used when selecting the object
        `obj` - the instance to be activated
      Throws:
        `java.lang.Exception` - if there is a problem activating `obj`, this exception may be swallowed by the pool.
      See Also:
        `KeyedPoolableObjectFactory.destroyObject(K, V)`

    - #### passivateObject

          public void passivateObject(K key,
                             V obj)
                               throws java.lang.Exception

      Uninitialize an instance to be returned to the idle object pool.

      The default implementation is a no-op.

      Specified by:
        `passivateObject` in interface `KeyedPoolableObjectFactory<K,V>`
      Parameters:
        `key` - the key used when selecting the object
        `obj` - the instance to be passivated
      Throws:
        `java.lang.Exception` - if there is a problem passivating `obj`, this exception may be swallowed by the pool.
      See Also:
        `KeyedPoolableObjectFactory.destroyObject(K, V)`

Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.