# Hierarchy For All Packages

Package Hierarchies:

- org.fressian,
- org.fressian.handlers,
- org.fressian.impl

## Class Hierarchy

- java.lang.Object
  - org.fressian.CachedObject (implements org.fressian.Cached)
  - org.fressian.impl.CachingLookup<K,V> (implements org.fressian.handlers.ILookup<K,V>)
  - org.fressian.impl.ChainedLookup<K,V> (implements org.fressian.handlers.ILookup<K,V>)
  - org.fressian.impl.Codes
  - org.fressian.impl.Fns
  - org.fressian.FressianReader (implements java.io.Closeable, org.fressian.Reader)
  - org.fressian.FressianWriter (implements java.io.Closeable, org.fressian.StreamingWriter, org.fressian.Writer)
  - org.fressian.impl.Handlers
  - org.fressian.impl.InheritanceLookup<V> (implements org.fressian.handlers.ILookup<K,V>)
  - java.io.InputStream (implements java.io.Closeable)
    - org.fressian.impl.ByteBufferInputStream
  - org.fressian.impl.InterleavedIndexHopMap
  - org.fressian.impl.MapLookup<K,V> (implements org.fressian.handlers.ILookup<K,V>)
  - java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
    - java.io.ByteArrayOutputStream
      - org.fressian.impl.BytesOutputStream
  - org.fressian.impl.Ranges
  - org.fressian.impl.RawInput (implements java.io.Closeable)
  - org.fressian.impl.RawOutput (implements java.io.Closeable)
  - org.fressian.impl.StructType
  - org.fressian.TaggedObject (implements org.fressian.Tagged)
  - org.fressian.handlers.WriteHandlerLookup (implements org.fressian.handlers.IWriteHandlerLookup)

## Interface Hierarchy

- org.fressian.Cached
- org.fressian.handlers.ConvertBytes
- org.fressian.handlers.ConvertDouble
- org.fressian.handlers.ConvertFloat
- org.fressian.handlers.ConvertList
- org.fressian.handlers.ILookup<K,V>
- org.fressian.handlers.IWriteHandlerLookup
- org.fressian.Reader
- org.fressian.handlers.ReadHandler
- org.fressian.StreamingWriter
- org.fressian.Tagged
- org.fressian.handlers.WriteHandler
- org.fressian.Writer