# Hierarchy For All Packages

Package Hierarchies:

- net.dontdrinkandroot.cache,
- net.dontdrinkandroot.cache.expungestrategy,
- net.dontdrinkandroot.cache.expungestrategy.impl,
- net.dontdrinkandroot.cache.impl,
- net.dontdrinkandroot.cache.impl.disk.file,
- net.dontdrinkandroot.cache.impl.disk.indexed,
- net.dontdrinkandroot.cache.impl.disk.indexed.storage,
- net.dontdrinkandroot.cache.impl.memory,
- net.dontdrinkandroot.cache.metadata,
- net.dontdrinkandroot.cache.metadata.comparator,
- net.dontdrinkandroot.cache.metadata.comparator.impl,
- net.dontdrinkandroot.cache.metadata.impl,
- net.dontdrinkandroot.cache.statistics,
- net.dontdrinkandroot.cache.statistics.impl,
- net.dontdrinkandroot.cache.utils

## Class Hierarchy

- java.lang.Object
  - net.dontdrinkandroot.cache.impl.AbstractCache<K,V> (implements net.dontdrinkandroot.cache.Cache<K,V>)
    - net.dontdrinkandroot.cache.impl.AbstractMapBackedCache<K,V,M> (implements net.dontdrinkandroot.cache.Cache<K,V>)
      - net.dontdrinkandroot.cache.impl.AbstractMapBackedCustomTtlCache<K,V,M> (implements net.dontdrinkandroot.cache.CustomTtlCache<K,V>)
        - net.dontdrinkandroot.cache.impl.disk.indexed.AbstractIndexedDiskCache<K,V>
          - net.dontdrinkandroot.cache.impl.disk.indexed.ByteArrayIndexedDiskCache
          - net.dontdrinkandroot.cache.impl.disk.indexed.SerializableIndexedDiskCache
            - net.dontdrinkandroot.cache.impl.disk.indexed.BufferedSerializableIndexedDiskCache
              - net.dontdrinkandroot.cache.impl.disk.indexed.LruBufferedSerializableIndexedDiskCache
        - net.dontdrinkandroot.cache.impl.memory.MemoryCache<K,V>
      - net.dontdrinkandroot.cache.impl.disk.file.FileCache
  - net.dontdrinkandroot.cache.expungestrategy.impl.AbstractMaxSizeExpungeStrategy (implements net.dontdrinkandroot.cache.expungestrategy.ExpungeStrategy)
    - net.dontdrinkandroot.cache.expungestrategy.impl.AbstractOneOverMaxSizeExpungeStrategy
      - net.dontdrinkandroot.cache.expungestrategy.impl.LfuExpungeStrategy
      - net.dontdrinkandroot.cache.expungestrategy.impl.LruExpungeStrategy
    - net.dontdrinkandroot.cache.expungestrategy.impl.AbstractRecyclingExpungeStrategy
      - net.dontdrinkandroot.cache.expungestrategy.impl.LfuRecyclingExpungeStrategy
      - net.dontdrinkandroot.cache.expungestrategy.impl.LruRecyclingExpungeStrategy
  - net.dontdrinkandroot.cache.metadata.impl.BlockMetaData (implements net.dontdrinkandroot.cache.metadata.MetaData)
  - net.dontdrinkandroot.cache.impl.disk.indexed.storage.DataBlock (implements java.lang.Comparable<T>)
  - net.dontdrinkandroot.cache.impl.disk.indexed.storage.DataFile
  - net.dontdrinkandroot.cache.utils.Duration
  - net.dontdrinkandroot.cache.expungestrategy.impl.ExpiredOnlyExpungeStrategy (implements net.dontdrinkandroot.cache.expungestrategy.ExpungeStrategy)
  - net.dontdrinkandroot.cache.utils.FileUtils
  - net.dontdrinkandroot.cache.impl.disk.indexed.storage.IndexData
  - net.dontdrinkandroot.cache.impl.disk.indexed.storage.IndexFile
  - net.dontdrinkandroot.cache.impl.disk.indexed.storage.KeyedMetaData<K> (implements java.io.Serializable)
  - net.dontdrinkandroot.cache.metadata.comparator.impl.LfuComparator<K,M> (implements net.dontdrinkandroot.cache.metadata.comparator.MetaDataComparator<K,M>)
  - net.dontdrinkandroot.cache.metadata.comparator.impl.LruComparator<K,M> (implements net.dontdrinkandroot.cache.metadata.comparator.MetaDataComparator<K,M>)
  - net.dontdrinkandroot.cache.utils.Md5
  - net.dontdrinkandroot.cache.impl.memory.NoopCache<K,V> (implements net.dontdrinkandroot.cache.CustomTtlCache<K,V>)
  - net.dontdrinkandroot.cache.expungestrategy.impl.NoopExpungeStrategy (implements net.dontdrinkandroot.cache.expungestrategy.ExpungeStrategy)
  - net.dontdrinkandroot.cache.utils.ObjectUtils
  - net.dontdrinkandroot.cache.utils.Serializer
  - net.dontdrinkandroot.cache.statistics.impl.SimpleCacheStatistics (implements net.dontdrinkandroot.cache.statistics.CacheStatistics)
  - net.dontdrinkandroot.cache.metadata.impl.SimpleMetaData (implements net.dontdrinkandroot.cache.metadata.MetaData)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - net.dontdrinkandroot.cache.CacheException
        - net.dontdrinkandroot.cache.metadata.impl.CheckSumNotMatchingException
      - java.io.IOException
        - net.dontdrinkandroot.cache.impl.disk.indexed.storage.AllocationException
      - net.dontdrinkandroot.cache.utils.Md5Exception
      - java.lang.RuntimeException
        - net.dontdrinkandroot.cache.utils.SerializationException

## Interface Hierarchy

- net.dontdrinkandroot.cache.Cache<K,V>
  - net.dontdrinkandroot.cache.CustomTtlCache<K,V>
- java.util.Comparator<T>
  - net.dontdrinkandroot.cache.metadata.comparator.MetaDataComparator<K,M>
- net.dontdrinkandroot.cache.expungestrategy.ExpungeStrategy
- java.io.Serializable
  - net.dontdrinkandroot.cache.statistics.CacheStatistics
  - net.dontdrinkandroot.cache.metadata.MetaData