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:
  - Serialized Form

## 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

Fields
Modifier and Type
Field
Description
`static final int`
`DEFAULT_CAPACITY`
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

Constructors
Modifier
Constructor
Description
`protected`
`BoundedPoolBase(int capacityAsId)`

## Method Summary

Modifier and Type
Method
Description
`P`
`acquirePooled()`
Method for sub-classes to implement for actual acquire logic; called by `RecyclerPool.acquireAndLinkPooled()`.
`int`
`capacity()`
`void`
`releasePooled(P pooled)`
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.

### 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_CAPACITY
Default capacity which limits number of items that are ever retained for reuse.

See Also:
  - Constant Field Values

## 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()