Package schule.ngb.zm.util
Class Cache<K,V>
java.lang.Object
schule.ngb.zm.util.Cache<K,V>
- Type Parameters:
K- Der Typ der Schlüssel.V- Der Typ der Objekte.
- All Implemented Interfaces:
Map<K,V>
Ein Cache ist ein
Map Implementation, die Inhaltsobjekte in einer
Reference speichert und als Zwischenspeicher für Objekte dienen kann,
deren Erstellung aufwendig ist.
Für einen Cache ist nicht garantiert, dass ein eingefügtes Objekt beim nächsten Aufruf noch vorhanden ist, da die Referenz inzwischen vom Garbage Collector gelöscht worden sein kann.
Als interne Map wird einen ConcurrentHashMap verwendet.
Ein passender Cache wird mittels der Fabrikmethoden newSoftCache()
und newWeakCache() erstellt.
Cache<String, Image> imageCache = Cache.newSoftCache();
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoidclear()booleancontainsKey(Object key) booleancontainsValue(Object value) voiddisableCache(K key) Deaktiviert das Caching für den angegebenen Schlüssel.entrySet()booleanisCachingDisabled(K key) Prüft, ob der für den angegebenen Schlüssel zuvordisableCache(Object)aufgerufen wurde.booleanisEmpty()keySet()static <K,V> Cache<K, V> Erstellt einen Cache mitSoftReferenceReferenzen.static <K,V> Cache<K, V> Erstellt einen Cache mitWeakReferenceReferenzen.voidintsize()values()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Method Details
-
newSoftCache
Erstellt einen Cache mitSoftReferenceReferenzen.- Type Parameters:
K- Der Typ der Schlüssel.V- Der Typ der Objekte.- Returns:
- Ein Cache.
-
newWeakCache
Erstellt einen Cache mitWeakReferenceReferenzen.- Type Parameters:
K- Der Typ der Schlüssel.V- Der Typ der Objekte.- Returns:
- Ein Cache.
-
size
public int size() -
isEmpty
public boolean isEmpty() -
containsKey
- Specified by:
containsKeyin interfaceMap<K,V>
-
containsValue
- Specified by:
containsValuein interfaceMap<K,V>
-
get
-
disableCache
Deaktiviert das Caching für den angegebenen Schlüssel.Folgende Aufrufe von
put(Object, Object)mit demselben Schlüssel haben keinen Effekt. Um das Caching wieder zu aktivieren, mussremove(Object)mit dem Schlüssel aufgerufen werden,- Parameters:
key- Der Schlüssel.
-
isCachingDisabled
Prüft, ob der für den angegebenen Schlüssel zuvordisableCache(Object)aufgerufen wurde.- Parameters:
key- Der Schlüssel.- Returns:
true, wenn der Schlüssel nicht gespeichert wird.
-
put
-
remove
-
putAll
-
clear
public void clear() -
keySet
-
values
-
entrySet
-