net.sf.saxon.expr.sort
Class LRUCache<K,V>

java.lang.Object
  extended by net.sf.saxon.expr.sort.LRUCache<K,V>

public class LRUCache<K,V>
extends Object

An LRU cache, based on LinkedHashMap. Synthesized and simplified from various published examples of the genre. The methods are not synchronized.


Constructor Summary
LRUCache(int cacheSize)
          Creates a new LRU cache.
 
Method Summary
 void clear()
          Clear the cache
 V get(K key)
          Retrieves an entry from the cache.
The retrieved entry becomes the most recently used entry.
 void put(K key, V value)
          Adds an entry to this cache.
 int size()
          Get the number of entries in the cache
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LRUCache

public LRUCache(int cacheSize)
Creates a new LRU cache.

Parameters:
cacheSize - the maximum number of entries that will be kept in this cache.
Method Detail

get

public V get(K key)
Retrieves an entry from the cache.
The retrieved entry becomes the most recently used entry.

Parameters:
key - the key whose associated value is to be returned.
Returns:
the value associated to this key, or null if no value with this key exists in the cache.

put

public void put(K key,
                V value)
Adds an entry to this cache. If the cache is full, the LRU (least recently used) entry is dropped.

Parameters:
key - the key with which the specified value is to be associated.
value - a value to be associated with the specified key.

clear

public void clear()
Clear the cache


size

public int size()
Get the number of entries in the cache



Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.