Class RecyclerPool.BoundedPoolBase<P extends RecyclerPool.WithPool<P>>

java.lang.Object
com.fasterxml.jackson.core.util.RecyclerPool.StatefulImplBase<P>
com.fasterxml.jackson.core.util.RecyclerPool.BoundedPoolBase<P>
All Implemented Interfaces:
RecyclerPool<P>, Serializable
Direct Known Subclasses:
JsonRecyclerPools.BoundedPool
Enclosing interface:
RecyclerPool<P extends RecyclerPool.WithPool<P>>

public abstract static class RecyclerPool.BoundedPoolBase<P extends RecyclerPool.WithPool<P>> extends RecyclerPool.StatefulImplBase<P>
RecyclerPool implementation that uses a bounded queue (ArrayBlockingQueue for recycling instances. This is "bounded" pool since it will never hold on to more pooled instances than its size configuration: the default size is DEFAULT_CAPACITY.
See Also:
  • Field Details

    • DEFAULT_CAPACITY

      public static final int DEFAULT_CAPACITY
      Default capacity which limits number of items that are ever retained for reuse.
      See Also:
  • Constructor Details

    • BoundedPoolBase

      protected BoundedPoolBase(int capacityAsId)
  • Method Details

    • acquirePooled

      public P acquirePooled()
      Description copied from interface: RecyclerPool
      Method for sub-classes to implement for actual acquire logic; called by RecyclerPool.acquireAndLinkPooled().
      Returns:
      Instance acquired (pooled or just constructed)
    • releasePooled

      public void releasePooled(P pooled)
      Description copied from interface: RecyclerPool
      Method that should be called when previously acquired (see RecyclerPool.acquireAndLinkPooled()) pooled value that is no longer needed; this lets pool to take ownership for possible reuse.
      Parameters:
      pooled - Pooled instance to release back to pool
    • capacity

      public int capacity()