org.apache.hadoop.hbase.util
Class PoolMap<K,V>

java.lang.Object
  extended by org.apache.hadoop.hbase.util.PoolMap<K,V>
Type Parameters:
K - the type of the key to the resource
V - the type of the resource being pooled
All Implemented Interfaces:
Map<K,V>

@InterfaceAudience.Private
public class PoolMap<K,V>
extends Object
implements Map<K,V>

The 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.


Nested Class Summary
protected static interface PoolMap.Pool<R>
           
static class PoolMap.PoolType
           
 class PoolMap.ReusablePool<R>
          The ReusablePool represents a PoolMap.Pool that builds on the LinkedList class.
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Constructor Summary
PoolMap(PoolMap.PoolType poolType)
           
PoolMap(PoolMap.PoolType poolType, int poolMaxSize)
           
 
Method Summary
 void clear()
           
 boolean containsKey(Object key)
           
 boolean containsValue(Object value)
           
protected  PoolMap.Pool<V> createPool()
           
 Set<Map.Entry<K,V>> entrySet()
           
 V get(Object key)
           
 boolean isEmpty()
           
 Set<K> keySet()
           
 V put(K key, V value)
           
 void putAll(Map<? extends K,? extends V> map)
           
 V remove(Object key)
           
 boolean removeValue(K key, V value)
           
 int size()
           
 int size(K key)
           
 Collection<V> values()
           
 Collection<V> values(K key)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Constructor Detail

PoolMap

public PoolMap(PoolMap.PoolType poolType)

PoolMap

public PoolMap(PoolMap.PoolType poolType,
               int poolMaxSize)
Method Detail

get

public V get(Object key)
Specified by:
get in interface Map<K,V>

put

public V put(K key,
             V value)
Specified by:
put in interface Map<K,V>

remove

public V remove(Object key)
Specified by:
remove in interface Map<K,V>

removeValue

public boolean removeValue(K key,
                           V value)

values

public Collection<V> values()
Specified by:
values in interface Map<K,V>

values

public Collection<V> values(K key)

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface Map<K,V>

size

public int size()
Specified by:
size in interface Map<K,V>

size

public int size(K key)

containsKey

public boolean containsKey(Object key)
Specified by:
containsKey in interface Map<K,V>

containsValue

public boolean containsValue(Object value)
Specified by:
containsValue in interface Map<K,V>

putAll

public void putAll(Map<? extends K,? extends V> map)
Specified by:
putAll in interface Map<K,V>

clear

public void clear()
Specified by:
clear in interface Map<K,V>

keySet

public Set<K> keySet()
Specified by:
keySet in interface Map<K,V>

entrySet

public Set<Map.Entry<K,V>> entrySet()
Specified by:
entrySet in interface Map<K,V>

createPool

protected PoolMap.Pool<V> createPool()


Copyright © 2007–2016 The Apache Software Foundation. All rights reserved.