|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jaxfront.core.util.MRUHashtable
public class MRUHashtable
Instances of this class can be used as object cache. Each MCRCache has a certain capacity, the maximum number of objects the cache will hold. When the cache is full and another object is put into the cache, the cache will discard the least recently used object to get place for the new object. The cache will always hold the most recently used objects by updating its internal structure whenever an object is get from the cache or put into the cache. The cache also provides methods for getting the current cache hit rate and fill rate. Like in a hashtable, an MCRCache uses a unique key for each object.
Hashtable
Constructor Summary | |
---|---|
MRUHashtable(int capacity)
Creates a new cache with a given capacity. |
Method Summary | |
---|---|
void |
clear()
Clears the cache by removing all entries from the cache |
java.lang.Object |
get(java.lang.Object key)
Returns an object from the cache for the given key, or null if there currently is no object in the cache with this key. |
int |
getCapacity()
Returns the capacity of this cache. |
int |
getCurrentSize()
Returns the number of objects currently cached. |
double |
getFillRate()
Returns the fill rate of this cache. |
double |
getHitRate()
Returns the hit rate of this cache. |
boolean |
isEmpty()
Returns true if this cache is empty. |
boolean |
isFull()
Returns true if this cache is full. |
static void |
main(java.lang.String[] args)
A small sample program for testing this class. |
void |
put(java.lang.Object key,
java.lang.Object obj)
Puts an object into the cache, storing it under the given key. |
void |
remove(java.lang.Object key)
Removes an object from the cache for the given key. |
java.lang.Object |
returnIfUpToDat(java.lang.Object key,
long time)
Returns an object from the cache for the given key, but only if the cache entry is not older than the given timestamp. |
void |
setCapacity(int capacity)
Changes the capacity of this cache. |
java.lang.String |
toString()
Returns a String containing information about cache capacity, size, current fill rate and hit rate. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public MRUHashtable(int capacity)
capacity
- the maximum number of objects this cache will holdMethod Detail |
---|
public void put(java.lang.Object key, java.lang.Object obj)
key
- the non-null key to store the object underobj
- the non-null object to be put into the cachepublic void remove(java.lang.Object key)
key
- the key for the object you want to remove from this cachepublic java.lang.Object get(java.lang.Object key)
key
- the key for the object you want to get from this cache
public java.lang.Object returnIfUpToDat(java.lang.Object key, long time)
key
- the key for the object you want to get from this cachetime
- the timestamp to check that the cache entry is up to date
public int getCurrentSize()
public int getCapacity()
public void setCapacity(int capacity)
capacity
- the maximum number of objects this cache will holdpublic boolean isFull()
public boolean isEmpty()
public double getFillRate()
public double getHitRate()
public void clear()
public java.lang.String toString()
toString
in class java.lang.Object
public static void main(java.lang.String[] args)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |