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

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

public class ExpiringMap<K,V>
extends java.lang.Object
implements java.util.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.

Author:
Apache MINA Project

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
java.util.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(java.lang.Object key)
           
 boolean containsValue(java.lang.Object value)
           
 java.util.Set<java.util.Map.Entry<K,V>> entrySet()
           
 boolean equals(java.lang.Object obj)
           
 V get(java.lang.Object key)
           
 int getExpirationInterval()
           
 ExpiringMap.Expirer getExpirer()
           
 int getTimeToLive()
           
 int hashCode()
           
 boolean isEmpty()
           
 java.util.Set<K> keySet()
           
 V put(K key, V value)
           
 void putAll(java.util.Map<? extends K,? extends V> inMap)
           
 V remove(java.lang.Object key)
           
 void removeExpirationListener(ExpirationListener<V> listener)
           
 void setExpirationInterval(int expirationInterval)
           
 void setTimeToLive(int timeToLive)
           
 int size()
           
 java.util.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 java.util.Map<K,V>

get

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

remove

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

containsKey

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

containsValue

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

size

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

isEmpty

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

clear

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

hashCode

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

keySet

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

equals

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

putAll

public void putAll(java.util.Map<? extends K,? extends V> inMap)
Specified by:
putAll in interface java.util.Map<K,V>

values

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

entrySet

public java.util.Set<java.util.Map.Entry<K,V>> entrySet()
Specified by:
entrySet in interface java.util.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-2010 Apache MINA Project. All Rights Reserved.