Class WeakObjectPool<T,E extends Throwable>

java.lang.Object
org.apache.xml.security.utils.WeakObjectPool<T,E>

@Deprecated public abstract class WeakObjectPool<T,E extends Throwable> extends Object
Deprecated.
This class is no longer in use in Santuario 2.1.4
Abstract base class for pooling objects. The two public methods are getObject() and (repool(Object). Objects are held through weak references so even objects that are not repooled are subject to garbage collection. Subclasses must implement the abstract createObject().

Internally, the pool is stored in a java.util.concurrent.LinkedBlockingDeque instance.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final BlockingQueue<WeakReference<T>>
    Deprecated.
    created, available objects to be checked out to clients
    private static final Integer
    Deprecated.
     
    private final Map<T,Integer>
    Deprecated.
    Synchronized, identity map of loaned out objects (WeakHashMap); use to ensure we repool only object originating from here and do it once.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Deprecated.
    The lone constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected abstract T
    Deprecated.
    Called whenever a new pool object is desired; subclasses must implement.
    Deprecated.
    Subclasses can subclass to return a more specific type.
    boolean
    repool(T obj)
    Deprecated.
    Adds the given object to the pool, provided that the object was created by this pool.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • MARKER_VALUE

      private static final Integer MARKER_VALUE
      Deprecated.
    • available

      private final BlockingQueue<WeakReference<T>> available
      Deprecated.
      created, available objects to be checked out to clients
    • onLoan

      private final Map<T,Integer> onLoan
      Deprecated.
      Synchronized, identity map of loaned out objects (WeakHashMap); use to ensure we repool only object originating from here and do it once.
  • Constructor Details

    • WeakObjectPool

      protected WeakObjectPool()
      Deprecated.
      The lone constructor.
  • Method Details

    • createObject

      protected abstract T createObject() throws E
      Deprecated.
      Called whenever a new pool object is desired; subclasses must implement.
      Returns:
      object of the type desired by the subclass
      Throws:
      E - Throwable's subclass
    • getObject

      public T getObject() throws E
      Deprecated.
      Subclasses can subclass to return a more specific type.
      Returns:
      an object from the pool; will block until an object is available
      Throws:
      E
    • repool

      public boolean repool(T obj)
      Deprecated.
      Adds the given object to the pool, provided that the object was created by this pool.
      Parameters:
      obj - the object to return to the pool
      Returns:
      whether the object was successfully added as available