# Hierarchy For Package org.codehaus.groovy.runtime.memoize

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.codehaus.groovy.runtime.memoize.CommonCache<K,V> (implements org.codehaus.groovy.runtime.memoize.EvictableCache<K,V>, java.io.Serializable, org.codehaus.groovy.runtime.memoize.ValueConvertable<V1,V2>)
  - org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache<K,V> (implements org.codehaus.groovy.runtime.memoize.EvictableCache<K,V>, java.io.Serializable, org.codehaus.groovy.runtime.memoize.ValueConvertable<V1,V2>)
    - org.codehaus.groovy.runtime.memoize.ConcurrentSoftCache<K,V>
  - org.codehaus.groovy.runtime.memoize.LRUCache<K,V> (implements org.codehaus.groovy.runtime.memoize.MemoizeCache<K,V>)
  - org.codehaus.groovy.runtime.memoize.Memoize
  - org.codehaus.groovy.runtime.memoize.NullProtectionStorage
  - org.codehaus.groovy.runtime.memoize.StampedCommonCache<K,V> (implements org.codehaus.groovy.runtime.memoize.EvictableCache<K,V>, java.io.Serializable, org.codehaus.groovy.runtime.memoize.ValueConvertable<V1,V2>)
  - org.codehaus.groovy.runtime.memoize.UnlimitedConcurrentCache<K,V> (implements org.codehaus.groovy.runtime.memoize.EvictableCache<K,V>, java.io.Serializable)

## Interface Hierarchy

- org.codehaus.groovy.runtime.memoize.EvictableCache.Action<K,V,R>
- java.util.Map<K,V>
  - org.codehaus.groovy.runtime.memoize.EvictableCache<K,V> (also extends org.codehaus.groovy.runtime.memoize.MemoizeCache<K,V>)
- org.codehaus.groovy.runtime.memoize.MemoizeCache<K,V>
  - org.codehaus.groovy.runtime.memoize.EvictableCache<K,V> (also extends java.util.Map<K,V>)
- org.codehaus.groovy.runtime.memoize.MemoizeCache.ValueProvider<K,V>
- org.codehaus.groovy.runtime.memoize.ValueConvertable<V1,V2>

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - org.codehaus.groovy.runtime.memoize.EvictableCache.EvictionStrategy