Package org.apache.jena.atlas.lib.cache
Class CacheSimple<K,V>
java.lang.Object
org.apache.jena.atlas.lib.cache.CacheSimple<K,V>
- All Implemented Interfaces:
Cache<K,V>
A simple fixed size cache that uses the hash code to address a slot.
Clash policy is to overwrite.
No object creation during lookup or insert.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()booleancontainsKey(K key) Does the cache contain the key?getIfPresent(K key) Get from cache - or return null.Get from cache, of not present, call theCallableto try to fill the cache.booleanisEmpty()keys()Iterate over all keys.voidInsert into the cachevoidRemove from cache - return true if key referenced an entryvoidsetDropHandler(BiConsumer<K, V> dropHandler) Callback for entries when dropped from the cachelongsize()Current size of cache
-
Constructor Details
-
CacheSimple
public CacheSimple(int size)
-
-
Method Details
-
clear
public void clear() -
containsKey
Description copied from interface:CacheDoes the cache contain the key?- Specified by:
containsKeyin interfaceCache<K,V>
-
getIfPresent
Description copied from interface:CacheGet from cache - or return null.- Specified by:
getIfPresentin interfaceCache<K,V>
-
getOrFill
Description copied from interface:CacheGet from cache, of not present, call theCallableto try to fill the cache. This operation should be atomic. -
put
Description copied from interface:CacheInsert into the cache -
remove
Description copied from interface:CacheRemove from cache - return true if key referenced an entry -
size
public long size()Description copied from interface:CacheCurrent size of cache -
keys
Description copied from interface:CacheIterate over all keys. Iterating over the keys requires the caller be thread-safe. -
isEmpty
public boolean isEmpty() -
setDropHandler
Callback for entries when dropped from the cache- Specified by:
setDropHandlerin interfaceCache<K,V>
-