net.spy.util
Class TimeStampedHashMap

java.lang.Object
  extended byjava.util.AbstractMap
      extended byjava.util.HashMap
          extended bynet.spy.util.TimeStampedHashMap
All Implemented Interfaces:
Cloneable, Map, Serializable

public class TimeStampedHashMap
extends HashMap

A HashMap that remembers when it was accessed. Good for caching and stuff like that.

See Also:
Serialized Form

Constructor Summary
TimeStampedHashMap()
          Get an instance of TimeStampedHashMap.
 
Method Summary
 Object get(Object key)
          Get an object from the map.
 long getGetAge()
          How many milliseconds ago was the last get operation?
 long getHits()
          Get the number of hits (number of requests for items that were actually there).
 long getLastGet()
          Find out the last time this thing last had a Get.
 long getLastPut()
          Find out the last time this thing last had a Put.
 long getMisses()
          Get the number of misses (number of requests for items that were not actually there).
 long getNumPuts()
          Get the total number of put() invocations.
 long getPutAge()
          How many milliseconds ago was the last put operation?
 long getTimestamp()
          Find out the last time this thing was used (put or get was called).
 long getUseAge()
          How many milliseconds ago was the last put or get operation?
 long getWatermark()
          Get the watermark (maximum number of objects seen at any one time).
 Object put(Object key, Object value)
          Put an object into the map.
 
Methods inherited from class java.util.HashMap
clear, clone, containsKey, containsValue, entrySet, isEmpty, keySet, putAll, remove, size, values
 
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Constructor Detail

TimeStampedHashMap

public TimeStampedHashMap()
Get an instance of TimeStampedHashMap.

Method Detail

get

public Object get(Object key)
Get an object from the map.

Parameters:
key - the object to get
Returns:
the object, or null if it's missing

put

public Object put(Object key,
                  Object value)
Put an object into the map.

Parameters:
key - the key to store
value - the value to store
Returns:
the object that got displaced for this store, or null

getTimestamp

public long getTimestamp()
Find out the last time this thing was used (put or get was called).


getLastGet

public long getLastGet()
Find out the last time this thing last had a Get.


getLastPut

public long getLastPut()
Find out the last time this thing last had a Put.


getPutAge

public long getPutAge()
How many milliseconds ago was the last put operation?


getGetAge

public long getGetAge()
How many milliseconds ago was the last get operation?


getUseAge

public long getUseAge()
How many milliseconds ago was the last put or get operation?


getHits

public long getHits()
Get the number of hits (number of requests for items that were actually there).


getMisses

public long getMisses()
Get the number of misses (number of requests for items that were not actually there).


getWatermark

public long getWatermark()
Get the watermark (maximum number of objects seen at any one time).


getNumPuts

public long getNumPuts()
Get the total number of put() invocations.