Class SharedBoundedLocalContainer<K,V>

Type Parameters:
K - The key type
V - The value type
All Implemented Interfaces:
Iterable<InternalCacheEntry<K,V>>, DataContainer<K,V>, EvictionListener<K,V>, InternalDataContainer<K,V>

public class SharedBoundedLocalContainer<K,V> extends DefaultDataContainer<K,V> implements EvictionListener<K,V>
A non-segmented shared container for use with simple/local caches. All entries are stored in the shared caffeine map, but indexed in the single entries map inherited from DefaultDataContainer.

This class avoids the DefaultSegmentedDataContainer array-based segment indexing which causes ArrayIndexOutOfBoundsException when callers pass segment sets larger than the container's single-segment array.

Write operations must be done while holding the lock for the corresponding key in the shared caffeine map, same as SharedBoundedContainer.