net.sf.jbaobab.expirable
Class ExpirableMap<K,V>

java.lang.Object
  extended by net.sf.jbaobab.expirable.AbstractExpirableCollection<Map.Entry<K,V>>
      extended by net.sf.jbaobab.expirable.ExpirableMap<K,V>
All Implemented Interfaces:
Map<K,V>
Direct Known Subclasses:
ExpirableConcurrentMap, ExpirableSortedMap

public class ExpirableMap<K,V>
extends AbstractExpirableCollection<Map.Entry<K,V>>
implements Map<K,V>

An expirable decorator for a Map.

Author:
Oakyoon Cha

Nested Class Summary
static class ExpirableMap.InternalRemoverImpl<K,V>
           A remover implementation for removing Map.Entry instances.
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Field Summary
 
Fields inherited from class net.sf.jbaobab.expirable.AbstractExpirableCollection
expirer, remover, timeout
 
Constructor Summary
ExpirableMap(Map<K,V> map)
           
ExpirableMap(Map<K,V> map, long timeout)
           
 
Method Summary
 void clear()
           
 boolean containsKey(Object key)
           
 boolean containsValue(Object value)
           
 Set<Map.Entry<K,V>> entrySet()
           
 V get(Object key)
           
 boolean isEmpty()
           
 Set<K> keySet()
           
 V put(K key, V value)
           
 V put(K key, V value, long timeout)
           
 void putAll(Map<? extends K,? extends V> map)
           
 V remove(Object key)
           
 int size()
           
 Collection<V> values()
           
 
Methods inherited from class net.sf.jbaobab.expirable.AbstractExpirableCollection
finalize, getHandler, setHandler, timeout, timeout
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Constructor Detail

ExpirableMap

public ExpirableMap(Map<K,V> map,
                    long timeout)

ExpirableMap

public ExpirableMap(Map<K,V> map)
Method Detail

put

public V put(K key,
             V value,
             long timeout)

put

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

putAll

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

size

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

clear

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

isEmpty

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

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>

values

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

entrySet

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

keySet

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

get

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

remove

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