org.apache.mina.util
Class ExpiringMap<K,V>

java.lang.Object
  extended by org.apache.mina.util.ExpiringMap<K,V>
All Implemented Interfaces:
Map<K,V>

public class ExpiringMap<K,V>
extends Object
implements Map<K,V>

A map with expiration. This class contains a worker thread that will periodically check this class in order to determine if any objects should be removed based on the provided time-to-live value.

Version:
$Rev: 662890 $, $Date: 2008-06-03 23:14:21 +0200 (mar, 03 jun 2008) $
Author:
The Apache MINA Project (dev@mina.apache.org)

Nested Class Summary
 class ExpiringMap.Expirer
          A Thread that monitors an ExpiringMap and will remove elements that have passed the threshold.
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Field Summary
static int DEFAULT_EXPIRATION_INTERVAL
          The default value, 1
static int DEFAULT_TIME_TO_LIVE
          The default value, 60
 
Constructor Summary
ExpiringMap()
          Creates a new instance of ExpiringMap using the default values DEFAULT_TIME_TO_LIVE and DEFAULT_EXPIRATION_INTERVAL
ExpiringMap(int timeToLive)
          Creates a new instance of ExpiringMap using the supplied time-to-live value and the default value for DEFAULT_EXPIRATION_INTERVAL
ExpiringMap(int timeToLive, int expirationInterval)
          Creates a new instance of ExpiringMap using the supplied values and a ConcurrentHashMap for the internal data structure.
 
Method Summary
 void addExpirationListener(ExpirationListener<V> listener)
           
 void clear()
           
 boolean containsKey(Object key)
           
 boolean containsValue(Object value)
           
 Set<Map.Entry<K,V>> entrySet()
           
 boolean equals(Object obj)
           
 V get(Object key)
           
 int getExpirationInterval()
           
 ExpiringMap.Expirer getExpirer()
           
 int getTimeToLive()
           
 int hashCode()
           
 boolean isEmpty()
           
 Set<K> keySet()
           
 V put(K key, V value)
           
 void putAll(Map<? extends K,? extends V> inMap)
           
 V remove(Object key)
           
 void removeExpirationListener(ExpirationListener<V> listener)
           
 void setExpirationInterval(int expirationInterval)
           
 void setTimeToLive(int timeToLive)
           
 int size()
           
 Collection<V> values()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_TIME_TO_LIVE

public static final int DEFAULT_TIME_TO_LIVE
The default value, 60

See Also:
Constant Field Values

DEFAULT_EXPIRATION_INTERVAL

public static final int DEFAULT_EXPIRATION_INTERVAL
The default value, 1

See Also:
Constant Field Values
Constructor Detail

ExpiringMap

public ExpiringMap()
Creates a new instance of ExpiringMap using the default values DEFAULT_TIME_TO_LIVE and DEFAULT_EXPIRATION_INTERVAL


ExpiringMap

public ExpiringMap(int timeToLive)
Creates a new instance of ExpiringMap using the supplied time-to-live value and the default value for DEFAULT_EXPIRATION_INTERVAL

Parameters:
timeToLive - The time-to-live value (seconds)

ExpiringMap

public ExpiringMap(int timeToLive,
                   int expirationInterval)
Creates a new instance of ExpiringMap using the supplied values and a ConcurrentHashMap for the internal data structure.

Parameters:
timeToLive - The time-to-live value (seconds)
expirationInterval - The time between checks to see if a value should be removed (seconds)
Method Detail

put

public V put(K key,
             V value)
Specified by:
put 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>

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>

size

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

isEmpty

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

clear

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

hashCode

public int hashCode()
Specified by:
hashCode in interface Map<K,V>
Overrides:
hashCode in class Object

keySet

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

equals

public boolean equals(Object obj)
Specified by:
equals in interface Map<K,V>
Overrides:
equals in class Object

putAll

public void putAll(Map<? extends K,? extends V> inMap)
Specified by:
putAll 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>

addExpirationListener

public void addExpirationListener(ExpirationListener<V> listener)

removeExpirationListener

public void removeExpirationListener(ExpirationListener<V> listener)

getExpirer

public ExpiringMap.Expirer getExpirer()

getExpirationInterval

public int getExpirationInterval()

getTimeToLive

public int getTimeToLive()

setExpirationInterval

public void setExpirationInterval(int expirationInterval)

setTimeToLive

public void setTimeToLive(int timeToLive)


Copyright © 2004-2008 Apache MINA Project. All Rights Reserved.