# Package ghidra.util.database

package ghidra.util.database

- Related Packages
  Package
  Description
  ghidra.util
  ghidra.util.database.annot
  ghidra.util.database.err
  ghidra.util.database.spatial
- Class
  Description
  AbstractDirectedLongKeyIterator
  An abstract implementation of `DirectedLongKeyIterator`
  AbstractDirectedRecordIterator
  An abstract implementation of `DirectedRecordIterator`
  BackwardLongKeyIterator
  A wrapper of `DBLongIterator` that runs it backward and implements `DirectedLongKeyIterator`
  BackwardRecordIterator
  A wrapper of `RecordIterator` that runs it backward and implements `DirectedRecordIterator`
  DBAnnotatedObject
  An object backed by a `DBRecord`
  DBAnnotatedObjectFactory<T extends DBAnnotatedObject>
  Needed by a `DBCachedObjectStore` to describe how to construct the objects it manages
  DBBufferInputStream
  An input stream backed by a database chained buffer
  DBBufferOutputStream
  An output stream backed by a database chained buffer
  DBCachedDomainObjectAdapter
  A domain object that can use `DBCachedObjectStoreFactory`.
  DBCachedObjectIndex<K,T extends DBAnnotatedObject>
  An index on a field in a `DBCachedObjectStore`
  DBCachedObjectStore<T extends DBAnnotatedObject>
  An object store backed by a `Table`
  DBCachedObjectStore.SupplierAllowsIOException<U>
  A variation of `Supplier` that allows `IOException` to pass through
  DBCachedObjectStoreEntrySet<T extends DBAnnotatedObject>
  This provides the implementation of `Map.entrySet()` for `DBCachedObjectStore.asMap()`
  DBCachedObjectStoreEntrySubSet<T extends DBAnnotatedObject>
  This is the sub-ranged form of `DBCachedObjectStoreEntrySet`
  DBCachedObjectStoreFactory
  A factory for creating object stores for classes extending `DBAnnotatedObject`
  DBCachedObjectStoreFactory.AbstractDBFieldCodec<VT,OT extends DBAnnotatedObject,FT extends Field>
  An abstract implementation of `DBCachedObjectStoreFactory.DBFieldCodec`
  DBCachedObjectStoreFactory.BooleanDBFieldCodec<OT extends DBAnnotatedObject>
  The built-in codec for `boolean`
  DBCachedObjectStoreFactory.ByteArrayDBFieldCodec<OT extends DBAnnotatedObject>
  The built-in codec for `byte[]`
  DBCachedObjectStoreFactory.ByteDBFieldCodec<OT extends DBAnnotatedObject>
  The built-in codec for `byte`
  DBCachedObjectStoreFactory.DBFieldCodec<VT,OT extends DBAnnotatedObject,FT extends Field>
  A codec for encoding alternative data types
  DBCachedObjectStoreFactory.EnumDBByteFieldCodec<OT extends DBAnnotatedObject,E extends Enum<E>>
  The built-in codec for `Enum`
  DBCachedObjectStoreFactory.IntDBFieldCodec<OT extends DBAnnotatedObject>
  The built-in codec for `int`
  DBCachedObjectStoreFactory.LongArrayDBFieldCodec<OT extends DBAnnotatedObject>
  The built-in codec for `long[]`
  DBCachedObjectStoreFactory.LongDBFieldCodec<OT extends DBAnnotatedObject>
  The built-in codec for `long`
  DBCachedObjectStoreFactory.PrimitiveCodec<T>
  Codec for a primitive type
  DBCachedObjectStoreFactory.PrimitiveCodec.AbstractPrimitiveCodec<T>
  An abstract implementation of `DBCachedObjectStoreFactory.PrimitiveCodec`
  DBCachedObjectStoreFactory.PrimitiveCodec.ArrayObjectCodec<E>
  An implementation of an array codec, using its element codec, where elements are objects
  DBCachedObjectStoreFactory.PrimitiveCodec.ArrayPrimitiveCodec<E,T>
  An implementation of an array codec, using its element codec, where elements can be primitives
  DBCachedObjectStoreFactory.PrimitiveCodec.LengthBoundCodec<T>
  A codec which encodes length-value, using the (unbounded) codec for value
  DBCachedObjectStoreFactory.PrimitiveCodec.SimplePrimitiveCodec<T>
  A implementation of `DBCachedObjectStoreFactory.PrimitiveCodec` from lambdas or method references
  DBCachedObjectStoreFactory.RecAddress
  DBCachedObjectStoreFactory.RecRange
  DBCachedObjectStoreFactory.ShortDBFieldCodec<OT extends DBAnnotatedObject>
  The built-in codec for `short`
  DBCachedObjectStoreFactory.StringDBFieldCodec<OT extends DBAnnotatedObject>
  The built-in codec for `String`
  DBCachedObjectStoreFactory.VariantDBFieldCodec<OT extends DBAnnotatedObject>
  A custom codec for field of "variant" type
  DBCachedObjectStoreFoundKeysValueCollection<T extends DBAnnotatedObject>
  This provides the implementation of `DBCachedObjectIndex.get(Object)`
  DBCachedObjectStoreKeySet
  This provides the implementation of `Map.keySet()` for `DBCachedObjectStore.asMap()`
  DBCachedObjectStoreKeySubSet
  This is the sub-ranged form of `DBCachedObjectStoreKeySubSet`
  DBCachedObjectStoreMap<T extends DBAnnotatedObject>
  This provides the implementation of `DBCachedObjectStore.asMap()`
  DBCachedObjectStoreSubMap<T extends DBAnnotatedObject>
  This is the sub-ranged form of `DBCachedObjectStoreMap`
  DBCachedObjectStoreValueCollection<T extends DBAnnotatedObject>
  This provides the implementation of `Map.values()` for `DBCachedObjectStore.asMap()`
  DBCachedObjectStoreValueSubCollection<T extends DBAnnotatedObject>
  This is the sub-ranged form of `DBCachedObjectStoreValueCollection`
  DBObjectColumn
  An opaque handle to the column backing an object field
  DBSynchronizedCollection<E>
  DBSynchronizedIterator<T>
  DBSynchronizedSpliterator<T>
  Wraps an unsynchronized spliterator in one that synchronizes on a given `Lock`
  DirectedIterator<T>
  An iterator over some component of a `Table`
  DirectedIterator.Direction
  The direction of iteration
  DirectedLongKeyIterator
  An iterator over keys of a table
  DirectedRecordIterator
  An iterator over records of a table
  DomainObjectLockHold
  A hold on the lock for a domain object, obtained via `DomainObjectLockHold.lock(DomainObject, String)` or `DomainObjectLockHold.forceLock(DomainObject, boolean, String)`
  DomainObjectLockHold.DefaultHold
  FieldSpan
  A span of database field values
  FieldSpan.Domain
  The domain of field values, allowing open endpoints
  FieldSpan.Empty
  The singleton empty span of field values
  FieldSpan.Impl
  A span of field values
  ForwardLongKeyIterator
  A wrapper of `DBLongIterator` that runs it forward and implements `DirectedLongKeyIterator`
  ForwardRecordIterator
  A wrapper of `RecordIterator` that runs it forward and implements `DirectedRecordIterator`
  KeySpan
  An interval of database (primary) keys
  KeySpan.Domain
  The domain of keys
  KeySpan.Empty
  The singleton empty span of keys
  KeySpan.Impl
  A non-empty span of keys
  ObjectKey
  An opaque handle uniquely identifying a database-backed object
  SchemaBuilder
  A builder for `Schema`
  SynchronizedSpliterator<T>
  Wraps an unsynchronized spliterator in one that synchronizes on a given object's intrinsic lock, often the collection that provided the stream or spliterator.