Class AccessBasedLRUCache<K,​V>

java.lang.Object
java.util.AbstractMap<K,​V>
java.util.HashMap<K,​V>
java.util.LinkedHashMap<K,​V>
org.eclipse.emf.compare.match.eobject.internal.AccessBasedLRUCache<K,​V>
Type Parameters:
K - the type of keys maintained by this map
V - the type of mapped values
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<K,​V>

public class AccessBasedLRUCache<K,​V>
extends java.util.LinkedHashMap<K,​V>
A Map acting like a LRU cache which will evict elements which have not been accessed in a while.
See Also:
Serialized Form
  • Nested Class Summary

    Nested classes/interfaces inherited from class java.util.AbstractMap

    java.util.AbstractMap.SimpleEntry<K extends java.lang.Object,​V extends java.lang.Object>, java.util.AbstractMap.SimpleImmutableEntry<K extends java.lang.Object,​V extends java.lang.Object>
  • Constructor Summary

    Constructors 
    Constructor Description
    AccessBasedLRUCache​(int maxSize, int initialCapacity, float loadFactor)
    Create a new cache.
  • Method Summary

    Modifier and Type Method Description
    boolean removeEldestEntry​(java.util.Map.Entry<K,​V> eldest)

    Methods inherited from class java.util.LinkedHashMap

    clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, replaceAll, values

    Methods inherited from class java.util.HashMap

    clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, 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
  • Constructor Details

    • AccessBasedLRUCache

      public AccessBasedLRUCache​(int maxSize, int initialCapacity, float loadFactor)
      Create a new cache.
      Parameters:
      maxSize - the maximum size of the cache before it starts evicting elements.
      initialCapacity - pre-allocated capacity for the cache.
      loadFactor - the load factor
  • Method Details

    • removeEldestEntry

      public boolean removeEldestEntry​(java.util.Map.Entry<K,​V> eldest)
      Overrides:
      removeEldestEntry in class java.util.LinkedHashMap<K,​V>