Class PoolUtils.KeyedObjectPoolAdaptor<K,​V>

  • All Implemented Interfaces:
    KeyedObjectPool<K,​V>
    Enclosing class:
    PoolUtils

    private static class PoolUtils.KeyedObjectPoolAdaptor<K,​V>
    extends java.lang.Object
    implements KeyedObjectPool<K,​V>
    Adapts an ObjectPool to implement KeyedObjectPool by ignoring key arguments.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private ObjectPool<V> pool
      Underlying pool
    • Constructor Summary

      Constructors 
      Constructor Description
      KeyedObjectPoolAdaptor​(ObjectPool<V> pool)
      Create a new KeyedObjectPoolAdaptor wrapping the given ObjectPool
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void addObject​(K key)
      Add an object to the pool, ignoring the key
      V borrowObject​(K key)
      Borrow and object from the pool, ignoring the key
      void clear()
      Clears the pool, removing all pooled instances (optional operation).
      void clear​(K key)
      Clear the pool, ignoring the key (has same effect as clear().
      void close()
      Close this pool, and free any resources associated with it.
      int getNumActive()
      Returns the total number of instances current borrowed from this pool but not yet returned (optional operation).
      int getNumActive​(K key)
      Return the number of objects checked out from the pool, ignoring the key.
      int getNumIdle()
      Returns the total number of instances currently idle in this pool (optional operation).
      int getNumIdle​(K key)
      Return the number of objects idle in the pool, ignoring the key.
      void invalidateObject​(K key, V obj)
      Invalidate and object, ignoring the key
      void returnObject​(K key, V obj)
      Return and object to the pool, ignoring the key
      void setFactory​(KeyedPoolableObjectFactory<K,​V> factory)
      Deprecated.
      to be removed in version 2.0
      java.lang.String toString()
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • pool

        private final ObjectPool<V> pool
        Underlying pool
    • Constructor Detail

      • KeyedObjectPoolAdaptor

        KeyedObjectPoolAdaptor​(ObjectPool<V> pool)
                        throws java.lang.IllegalArgumentException
        Create a new KeyedObjectPoolAdaptor wrapping the given ObjectPool
        Parameters:
        pool - underlying object pool
        Throws:
        java.lang.IllegalArgumentException - if pool is null
    • Method Detail

      • borrowObject

        public V borrowObject​(K key)
                       throws java.lang.Exception,
                              java.util.NoSuchElementException,
                              java.lang.IllegalStateException
        Borrow and object from the pool, ignoring the key
        Specified by:
        borrowObject in interface KeyedObjectPool<K,​V>
        Parameters:
        key - ignored
        Returns:
        newly created object instance
        Throws:
        java.lang.IllegalStateException - after close has been called on this pool
        java.lang.Exception - when makeObject throws an exception
        java.util.NoSuchElementException - when the pool is exhausted and cannot or will not return another instance
      • returnObject

        public void returnObject​(K key,
                                 V obj)
        Return and object to the pool, ignoring the key
        Specified by:
        returnObject in interface KeyedObjectPool<K,​V>
        Parameters:
        key - ignored
        obj - object to return
      • invalidateObject

        public void invalidateObject​(K key,
                                     V obj)
        Invalidate and object, ignoring the key
        Specified by:
        invalidateObject in interface KeyedObjectPool<K,​V>
        Parameters:
        obj - object to invalidate
        key - ignored
      • addObject

        public void addObject​(K key)
                       throws java.lang.Exception,
                              java.lang.IllegalStateException
        Add an object to the pool, ignoring the key
        Specified by:
        addObject in interface KeyedObjectPool<K,​V>
        Parameters:
        key - ignored
        Throws:
        java.lang.Exception - when KeyedPoolableObjectFactory.makeObject(K) fails.
        java.lang.IllegalStateException - after KeyedObjectPool.close() has been called on this pool.
        java.lang.UnsupportedOperationException - when this pool cannot add new idle objects.
      • getNumIdle

        public int getNumIdle​(K key)
                       throws java.lang.UnsupportedOperationException
        Return the number of objects idle in the pool, ignoring the key.
        Specified by:
        getNumIdle in interface KeyedObjectPool<K,​V>
        Parameters:
        key - ignored
        Returns:
        idle instance count
        Throws:
        java.lang.UnsupportedOperationException - deprecated: when this implementation doesn't support the operation
      • getNumActive

        public int getNumActive​(K key)
                         throws java.lang.UnsupportedOperationException
        Return the number of objects checked out from the pool, ignoring the key.
        Specified by:
        getNumActive in interface KeyedObjectPool<K,​V>
        Parameters:
        key - ignored
        Returns:
        active instance count
        Throws:
        java.lang.UnsupportedOperationException - deprecated: when this implementation doesn't support the operation
      • getNumIdle

        public int getNumIdle()
                       throws java.lang.UnsupportedOperationException
        Returns the total number of instances currently idle in this pool (optional operation). Returns a negative value if this information is not available.
        Specified by:
        getNumIdle in interface KeyedObjectPool<K,​V>
        Returns:
        the total number of instances currently idle in this pool or a negative value if unsupported
        Throws:
        java.lang.UnsupportedOperationException - deprecated: when this implementation doesn't support the operation
      • getNumActive

        public int getNumActive()
                         throws java.lang.UnsupportedOperationException
        Returns the total number of instances current borrowed from this pool but not yet returned (optional operation). Returns a negative value if this information is not available.
        Specified by:
        getNumActive in interface KeyedObjectPool<K,​V>
        Returns:
        the total number of instances currently borrowed from this pool or a negative value if unsupported
        Throws:
        java.lang.UnsupportedOperationException - deprecated: when this implementation doesn't support the operation
      • clear

        public void clear()
                   throws java.lang.Exception,
                          java.lang.UnsupportedOperationException
        Clears the pool, removing all pooled instances (optional operation). Throws UnsupportedOperationException if the pool cannot be cleared.
        Specified by:
        clear in interface KeyedObjectPool<K,​V>
        Throws:
        java.lang.UnsupportedOperationException - when this implementation doesn't support the operation
        java.lang.Exception
      • clear

        public void clear​(K key)
                   throws java.lang.Exception,
                          java.lang.UnsupportedOperationException
        Clear the pool, ignoring the key (has same effect as clear().
        Specified by:
        clear in interface KeyedObjectPool<K,​V>
        Parameters:
        key - ignored.
        Throws:
        java.lang.UnsupportedOperationException - when this implementation doesn't support the operation
        java.lang.Exception
      • close

        public void close()
        Close this pool, and free any resources associated with it.

        Calling addObject or borrowObject after invoking this method on a pool will cause them to throw an IllegalStateException.

        Specified by:
        close in interface KeyedObjectPool<K,​V>
      • setFactory

        @Deprecated
        public void setFactory​(KeyedPoolableObjectFactory<K,​V> factory)
                        throws java.lang.IllegalStateException,
                               java.lang.UnsupportedOperationException
        Deprecated.
        to be removed in version 2.0
        Sets the factory used to manage objects.
        Specified by:
        setFactory in interface KeyedObjectPool<K,​V>
        Parameters:
        factory - new factory to use managing object instances
        Throws:
        java.lang.IllegalStateException - when the factory cannot be set at this time
        java.lang.UnsupportedOperationException - when this implementation doesn't support the operation
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object