# Hierarchy For Package ghidra.util.database

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - ghidra.util.database.AbstractDirectedLongKeyIterator (implements ghidra.util.database.DirectedLongKeyIterator)
    - ghidra.util.database.BackwardLongKeyIterator
    - ghidra.util.database.ForwardLongKeyIterator
  - ghidra.util.database.AbstractDirectedRecordIterator (implements ghidra.util.database.DirectedRecordIterator)
    - ghidra.util.database.BackwardRecordIterator
    - ghidra.util.database.ForwardRecordIterator
  - ghidra.program.database.DatabaseObject
    - ghidra.util.database.DBAnnotatedObject
  - ghidra.util.database.DBCachedObjectIndex<K,T>
  - ghidra.util.database.DBCachedObjectStore<T> (implements db.util.ErrorHandler)
  - ghidra.util.database.DBCachedObjectStore.BoundedStuff<E,R>
  - ghidra.util.database.DBCachedObjectStoreEntrySet<T> (implements java.util.NavigableSet<E>)
    - ghidra.util.database.DBCachedObjectStoreEntrySubSet<T>
  - ghidra.util.database.DBCachedObjectStoreFactory
  - ghidra.util.database.DBCachedObjectStoreFactory.AbstractDBFieldCodec<VT,OT,FT> (implements ghidra.util.database.DBCachedObjectStoreFactory.DBFieldCodec<VT,OT,FT>)
    - ghidra.util.database.DBCachedObjectStoreFactory.BooleanDBFieldCodec<OT>
    - ghidra.util.database.DBCachedObjectStoreFactory.ByteArrayDBFieldCodec<OT>
    - ghidra.util.database.DBCachedObjectStoreFactory.ByteDBFieldCodec<OT>
    - ghidra.util.database.DBCachedObjectStoreFactory.EnumDBByteFieldCodec<OT,E>
    - ghidra.util.database.DBCachedObjectStoreFactory.IntDBFieldCodec<OT>
    - ghidra.util.database.DBCachedObjectStoreFactory.LongArrayDBFieldCodec<OT>
    - ghidra.util.database.DBCachedObjectStoreFactory.LongDBFieldCodec<OT>
    - ghidra.util.database.DBCachedObjectStoreFactory.ShortDBFieldCodec<OT>
    - ghidra.util.database.DBCachedObjectStoreFactory.StringDBFieldCodec<OT>
    - ghidra.util.database.DBCachedObjectStoreFactory.VariantDBFieldCodec<OT>
  - ghidra.util.database.DBCachedObjectStoreFactory.PrimitiveCodec.AbstractPrimitiveCodec<T> (implements ghidra.util.database.DBCachedObjectStoreFactory.PrimitiveCodec<T>)
    - ghidra.util.database.DBCachedObjectStoreFactory.PrimitiveCodec.ArrayPrimitiveCodec<E,T>
      - ghidra.util.database.DBCachedObjectStoreFactory.PrimitiveCodec.ArrayObjectCodec<E>
    - ghidra.util.database.DBCachedObjectStoreFactory.PrimitiveCodec.LengthBoundCodec<T>
    - ghidra.util.database.DBCachedObjectStoreFactory.PrimitiveCodec.SimplePrimitiveCodec<T>
  - ghidra.util.database.DBCachedObjectStoreFoundKeysValueCollection<T> (implements java.util.Collection<E>)
  - ghidra.util.database.DBCachedObjectStoreKeySet (implements java.util.NavigableSet<E>)
    - ghidra.util.database.DBCachedObjectStoreKeySubSet
  - ghidra.util.database.DBCachedObjectStoreMap<T> (implements java.util.NavigableMap<K,V>)
    - ghidra.util.database.DBCachedObjectStoreSubMap<T>
  - ghidra.util.database.DBCachedObjectStoreValueCollection<T> (implements java.util.Collection<E>)
    - ghidra.util.database.DBCachedObjectStoreValueSubCollection<T>
  - ghidra.util.database.DBObjectColumn
  - ghidra.util.database.DBSynchronizedCollection<E> (implements java.util.Collection<E>)
  - ghidra.util.database.DBSynchronizedIterator<T> (implements java.util.Iterator<E>)
  - ghidra.util.database.DBSynchronizedSpliterator<T> (implements java.util.Spliterator<T>)
  - ghidra.framework.data.DomainObjectAdapter (implements ghidra.framework.model.DomainObject)
    - ghidra.framework.data.DomainObjectAdapterDB (implements db.util.ErrorHandler)
      - ghidra.framework.data.DBDomainObjectSupport
        - ghidra.util.database.DBCachedDomainObjectAdapter
  - ghidra.util.database.DomainObjectLockHold.DefaultHold (implements ghidra.util.database.DomainObjectLockHold)
  - generic.End.EndDomain<N,S> (implements generic.Span.Domain<N,S>)
    - ghidra.util.database.FieldSpan.Domain
  - ghidra.util.database.FieldSpan.Empty (implements ghidra.util.database.FieldSpan, generic.Span.Empty<N,S>)
  - java.io.InputStream (implements java.io.Closeable)
    - ghidra.util.database.DBBufferInputStream
  - ghidra.util.database.KeySpan.Domain (implements generic.Span.Domain<N,S>)
  - ghidra.util.database.KeySpan.Empty (implements ghidra.util.database.KeySpan, generic.Span.Empty<N,S>)
  - ghidra.util.database.ObjectKey (implements java.lang.Comparable<T>)
  - java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
    - ghidra.util.database.DBBufferOutputStream
  - ghidra.util.database.SchemaBuilder
  - ghidra.util.database.SynchronizedSpliterator<T> (implements java.util.Spliterator<T>)

## Interface Hierarchy

- java.lang.AutoCloseable
  - ghidra.util.database.DomainObjectLockHold
- java.lang.Comparable<T>
  - generic.Span<N,S>
    - generic.End.EndSpan<N,S>
      - ghidra.util.database.FieldSpan
    - ghidra.util.database.KeySpan
- ghidra.util.database.DBAnnotatedObjectFactory<T>
- ghidra.util.database.DBCachedObjectStore.SupplierAllowsIOException<U>
- ghidra.util.database.DBCachedObjectStoreFactory.DBFieldCodec<VT,OT,FT>
- ghidra.util.database.DBCachedObjectStoreFactory.PrimitiveCodec<T>
- ghidra.util.database.DirectedIterator<T>
  - ghidra.util.database.DirectedLongKeyIterator
  - ghidra.util.database.DirectedRecordIterator

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - ghidra.util.database.DirectedIterator.Direction

## Record Class Hierarchy

- java.lang.Object
  - java.lang.Record
    - ghidra.util.database.DBCachedObjectStoreFactory.RecAddress
    - ghidra.util.database.DBCachedObjectStoreFactory.RecRange
    - ghidra.util.database.FieldSpan.Impl (implements ghidra.util.database.FieldSpan)
    - ghidra.util.database.KeySpan.Impl (implements ghidra.util.database.KeySpan)