Package org.simpleframework.xml.util
Class LimitedCache<T>
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<Object,
,T> SequencedMap<Object,
,T> Cache<T>
- Direct Known Subclasses:
Resolver.Cache
The
LimitedCache
interface is used to represent a
cache that will store key value pairs. This implementation is
backed by a LinkedHashMap
so that only a specific
number of elements can be stored in the cache at one time.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,
V>, AbstractMap.SimpleImmutableEntry<K, V> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int
This represents the capacity of this cache instance. -
Constructor Summary
ConstructorsConstructorDescriptionConstructor of theLimitedCache
object.LimitedCache
(int capacity) Constructor of theLimitedCache
object. -
Method Summary
Modifier and TypeMethodDescriptionvoid
This method is used to insert a key value mapping in to the cache.boolean
This is used to determine whether the specified key exists with in the cache.This method is used to get the value from the cache that is mapped to the specified key.protected boolean
removeEldestEntry
(Map.Entry<Object, T> entry) This is used to remove the eldest entry from the cache.This is used to exclusively take the value mapped to the specified key from the cache.Methods inherited from class java.util.LinkedHashMap
clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, newLinkedHashMap, putFirst, putLast, replaceAll, reversed, sequencedEntrySet, sequencedKeySet, sequencedValues, values
Methods inherited from class java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, newHashMap, put, putAll, putIfAbsent, remove, remove, replace, replace, size
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
compute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
Methods inherited from interface java.util.SequencedMap
firstEntry, lastEntry, pollFirstEntry, pollLastEntry
-
Field Details
-
capacity
private final int capacityThis represents the capacity of this cache instance.
-
-
Constructor Details
-
LimitedCache
public LimitedCache()Constructor of theLimitedCache
object. This is used to create a cache with a fixed size. The strategy for this cache is least recently used. Any insert or fetch from the cache is considered to be a use. -
LimitedCache
public LimitedCache(int capacity) Constructor of theLimitedCache
object. This is used to create a cache with a fixed size. The strategy for this cache is least recently used. Any insert or fetch from the cache is considered to be a use.- Parameters:
capacity
- this is the capacity of the cache object
-
-
Method Details
-
cache
This method is used to insert a key value mapping in to the cache. The value can later be retrieved or removed from the cache if desired. If the value associated with the key is null then nothing is stored within the cache. -
take
This is used to exclusively take the value mapped to the specified key from the cache. Invoking this is effectively removing the value from the cache. -
fetch
This method is used to get the value from the cache that is mapped to the specified key. If there is no value mapped to the specified key then this method will return a null. -
contains
This is used to determine whether the specified key exists with in the cache. Typically this can be done using the fetch method, which will acquire the object. -
removeEldestEntry
This is used to remove the eldest entry from the cache. The eldest entry is removed from the cache if the size of the map grows larger than the maximum entries permitted.- Overrides:
removeEldestEntry
in classLinkedHashMap<Object,
T> - Parameters:
entry
- this is the eldest entry that can be removed- Returns:
- this returns true if the entry should be removed
-