The primary interfaces and class is :
  • LRUCachingMap<K,V>
  • LRUCachingMapConfiguration
  • ValueManager<K,V>
  • AbstractValueWrapper<K,V>
With the there default implementations :
  • LRUCachingMap<K,V> = DefaultLRUCachingMap , using DefaultLRUCachingMapConfiguration and DefaultMemoryValueManager
  • LRUCachingMapConfiguration = DefaultLRUCachingMapConfiguration.
  • ValueManager<K,V> = DefaultMemoryValueManager
  • AbstractValueWrapper<K,V> - Dependent on ValueManager implementation.

General implementation idea

The interface is LRUCachingMap with the default implementation DefaultLRUCachingMap.

The trick to this libray is the ValueManager implementations with the LRUCachingMap makes use of.

They provides the means to handle the values