Package com.fasterxml.jackson.core.util
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:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.fasterxml.jackson.core.util.RecyclerPool
RecyclerPool.BoundedPoolBase<P extends RecyclerPool.WithPool<P>>, RecyclerPool.ConcurrentDequePoolBase<P extends RecyclerPool.WithPool<P>>, RecyclerPool.LockFreePoolBase<P extends RecyclerPool.WithPool<P>>, RecyclerPool.NonRecyclingPoolBase<P extends RecyclerPool.WithPool<P>>, RecyclerPool.StatefulImplBase<P extends RecyclerPool.WithPool<P>>, RecyclerPool.ThreadLocalPoolBase<P extends RecyclerPool.WithPool<P>>, RecyclerPool.WithPool<P extends RecyclerPool.WithPool<P>>
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Default capacity which limits number of items that are ever retained for reuse.Fields inherited from class com.fasterxml.jackson.core.util.RecyclerPool.StatefulImplBase
_serialization, SERIALIZATION_NON_SHARED, SERIALIZATION_SHARED
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionMethod for sub-classes to implement for actual acquire logic; called byRecyclerPool.acquireAndLinkPooled()
.int
capacity()
void
releasePooled
(P pooled) Method that should be called when previously acquired (seeRecyclerPool.acquireAndLinkPooled()
) pooled value that is no longer needed; this lets pool to take ownership for possible reuse.Methods inherited from class com.fasterxml.jackson.core.util.RecyclerPool.StatefulImplBase
_resolveToShared, createPooled
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.fasterxml.jackson.core.util.RecyclerPool
acquireAndLinkPooled
-
Field Details
-
DEFAULT_CAPACITY
public static final int DEFAULT_CAPACITYDefault capacity which limits number of items that are ever retained for reuse.- See Also:
-
-
Constructor Details
-
BoundedPoolBase
protected BoundedPoolBase(int capacityAsId)
-
-
Method Details
-
acquirePooled
Description copied from interface:RecyclerPool
Method for sub-classes to implement for actual acquire logic; called byRecyclerPool.acquireAndLinkPooled()
.- Returns:
- Instance acquired (pooled or just constructed)
-
releasePooled
Description copied from interface:RecyclerPool
Method that should be called when previously acquired (seeRecyclerPool.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()
-