K
- the type of the key to the resourceV
- the type of the resource being pooled@InterfaceAudience.Private public class PoolMap<K,V> extends java.lang.Object implements java.util.Map<K,V>
PoolMap
maps a key to a collection of values, the elements
of which are managed by a pool. In effect, that collection acts as a shared
pool of resources, access to which is closely controlled as per the semantics
of the pool.
In case the size of the pool is set to a non-zero positive number, that is
used to cap the number of resources that a pool may contain for any given
key. A size of Integer.MAX_VALUE
is interpreted as an unbounded pool.
Modifier and Type | Class and Description |
---|---|
protected static interface |
PoolMap.Pool<R> |
static class |
PoolMap.PoolType |
class |
PoolMap.ReusablePool<R>
|
Constructor and Description |
---|
PoolMap(PoolMap.PoolType poolType) |
PoolMap(PoolMap.PoolType poolType,
int poolMaxSize) |
Modifier and Type | Method and Description |
---|---|
void |
clear() |
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
protected PoolMap.Pool<V> |
createPool() |
java.util.Set<java.util.Map.Entry<K,V>> |
entrySet() |
V |
get(java.lang.Object key) |
boolean |
isEmpty() |
java.util.Set<K> |
keySet() |
V |
put(K key,
V value) |
void |
putAll(java.util.Map<? extends K,? extends V> map) |
V |
remove(java.lang.Object key) |
boolean |
removeValue(K key,
V value) |
int |
size() |
int |
size(K key) |
java.util.Collection<V> |
values() |
java.util.Collection<V> |
values(K key) |
public PoolMap(PoolMap.PoolType poolType)
public PoolMap(PoolMap.PoolType poolType, int poolMaxSize)
public int size(K key)
public boolean containsKey(java.lang.Object key)
public boolean containsValue(java.lang.Object value)
protected PoolMap.Pool<V> createPool()