Package org.jdbi.v3.core.cache.internal
Class DefaultJdbiCache<K,V>
java.lang.Object
org.jdbi.v3.core.cache.internal.DefaultJdbiCache<K,V>
- All Implemented Interfaces:
JdbiCache<K,V>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ConcurrentMap<K,DoubleLinkedList.Node<K, V>> private final JdbiCacheLoader<K,DoubleLinkedList.Node<K, V>> private final DoubleLinkedList<K,V> private final int -
Constructor Summary
ConstructorsConstructorDescriptionDefaultJdbiCache(DefaultJdbiCacheBuilder builder, JdbiCacheLoader<K, V> cacheLoader) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidexpunge()Returns the cached value for a key.getStats()Return implementation specific statistics for the cache object.getWithLoader(K key, JdbiCacheLoader<K, V> loader) Returns a cached value for a key.private voidrefresh(DoubleLinkedList.Node<K, V> node) private JdbiCacheLoader<K,DoubleLinkedList.Node<K, V>> wrapLoader(JdbiCacheLoader<K, V> delegate)
-
Field Details
-
cache
-
expungeQueue
-
cacheLoader
-
maxSize
private final int maxSize
-
-
Constructor Details
-
DefaultJdbiCache
DefaultJdbiCache(DefaultJdbiCacheBuilder builder, JdbiCacheLoader<K, V> cacheLoader)
-
-
Method Details
-
get
Description copied from interface:JdbiCacheReturns the cached value for a key. -
getWithLoader
Description copied from interface:JdbiCacheReturns a cached value for a key. If no value is cached, create a new value using the provided cache loader.- Specified by:
getWithLoaderin interfaceJdbiCache<K,V> - Parameters:
key- The key value. Must not be null.loader- AJdbiCacheLoaderimplementation. May be called with the provided key value.- Returns:
- The cached value or null if no value was cached.
-
getStats
Description copied from interface:JdbiCacheReturn implementation specific statistics for the cache object. This can be used to expose statistic information about the underlying implementation. -
wrapLoader
-
refresh
-
expunge
private void expunge()
-