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 TypeMethodDescriptionvoid
clear()
boolean
containsKey
(Object key) boolean
containsValue
(Object value) void
disableCache
(K key) Deaktiviert das Caching für den angegebenen Schlüssel.entrySet()
boolean
isCachingDisabled
(K key) Prüft, ob der für den angegebenen Schlüssel zuvordisableCache(Object)
aufgerufen wurde.boolean
isEmpty()
keySet()
static <K,
V> Cache<K, V> Erstellt einen Cache mitSoftReference
Referenzen.static <K,
V> Cache<K, V> Erstellt einen Cache mitWeakReference
Referenzen.void
int
size()
values()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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 mitSoftReference
Referenzen.- Type Parameters:
K
- Der Typ der Schlüssel.V
- Der Typ der Objekte.- Returns:
- Ein Cache.
-
newWeakCache
Erstellt einen Cache mitWeakReference
Referenzen.- 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:
containsKey
in interfaceMap<K,
V>
-
containsValue
- Specified by:
containsValue
in 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
-