org.alicebot.server.core.util
Class LRUCache

java.lang.Object
  extended by java.util.AbstractMap
      extended by java.util.HashMap
          extended by java.util.LinkedHashMap
              extended by org.alicebot.server.core.util.LRUCache
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map

public class LRUCache
extends java.util.LinkedHashMap

This is a trivial extension of LinkedHashMap that is limited to a given number of entries.

Author:
Noel Bush
See Also:
Serialized Form

Constructor Summary
LRUCache(int maxEntries)
          Creates a new LRUCache with maxEntries maximum entries.
 
Method Summary
protected  boolean removeEldestEntry(java.util.Map.Entry eldest)
           
 
Methods inherited from class java.util.LinkedHashMap
clear, containsValue, get
 
Methods inherited from class java.util.HashMap
clone, containsKey, entrySet, isEmpty, keySet, put, 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
containsKey, entrySet, equals, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Constructor Detail

LRUCache

public LRUCache(int maxEntries)
Creates a new LRUCache with maxEntries maximum entries. The eldest will be automatically removed.

Parameters:
maxEntries - the maximum capacity of the cache
Method Detail

removeEldestEntry

protected boolean removeEldestEntry(java.util.Map.Entry eldest)
Overrides:
removeEldestEntry in class java.util.LinkedHashMap