Package ghidra.trace.database.map

# Class DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>

java.lang.Object
ghidra.program.database.DatabaseObject
ghidra.util.database.DBAnnotatedObject
ghidra.util.database.spatial.DBTreeRecord<TraceAddressSnapRange,TraceAddressSnapRange>
ghidra.util.database.spatial.DBTreeDataRecord<TraceAddressSnapRange,TraceAddressSnapRange,T>
ghidra.trace.database.map.DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>

All Implemented Interfaces:
  `TraceAddressSnapRange`, `BoundedShape<TraceAddressSnapRange>`, `BoundingShape<TraceAddressSnapRange>`, `Rectangle2D<Address,Long,TraceAddressSnapRange>`

Direct Known Subclasses:
  `AbstractDBTraceCodeUnit`, `AbstractDBTracePropertyMap.DBTraceIntPropertyMapEntry`, `AbstractDBTracePropertyMap.DBTraceLongPropertyMapEntry`, `AbstractDBTracePropertyMap.DBTraceSaveablePropertyMapEntry`, `AbstractDBTracePropertyMap.DBTraceStringPropertyMapEntry`, `AbstractDBTracePropertyMap.DBTraceVoidPropertyMapEntry`, `DBTraceBookmark`, `DBTraceCommentAdapter.DBTraceCommentEntry`, `DBTraceDataSettingsAdapter.DBTraceSettingsEntry`, `DBTraceEquateSpace.DBTraceEquateReference`, `DBTraceReferenceSpace.DBTraceReferenceEntry`, `DBTraceReferenceSpace.DBTraceXRefEntry`, `DBTraceRegisterContextManager.DBTraceRegisterContextEntry`, `DBTraceSymbolManager.DBTraceSymbolIDEntry`

Enclosing class:
  `DBTraceAddressSnapRangePropertyMapTree<T,DR extends DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>>`

public abstract static class DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T> extends DBTreeDataRecord<TraceAddressSnapRange,TraceAddressSnapRange,T> implements TraceAddressSnapRange

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class ghidra.util.database.spatial.DBTreeDataRecord

  `DBTreeDataRecord.RecordEntry<DS extends BoundedShape<NS>,NS extends BoundingShape<NS>,T>`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected Lifespan`
  `lifespan`
  `protected AddressRange`
  `range`
  `protected final DBTraceAddressSnapRangePropertyMapTree<T,? extends DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>>`
  `tree`

  ### Fields inherited from class ghidra.program.database.DatabaseObject

  `key`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractDBTraceAddressSnapRangePropertyMapData(DBTraceAddressSnapRangePropertyMapTree<T,?> tree, DBCachedObjectStore<?> store, DBRecord record)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `doSetLifespan(Lifespan lifespan)`
  `protected void`
  `doSetRange(AddressRange range)`
  `boolean`
  `equals(Object obj)`
  `protected void`
  `fresh(boolean created)`
  Extension point: Called when the object's fields are populated.
  `TraceAddressSnapRange`
  `getBounds()`
  `Lifespan`
  `getLifespan()`
  `long`
  `getParentKey()`
  `AddressRange`
  `getRange()`
  `TraceAddressSnapRange`
  `getShape()`
  `EuclideanSpace2D<Address,Long>`
  `getSpace()`
  `int`
  `hashCode()`
  `void`
  `setParentKey(long parentKey)`
  `void`
  `setShape(TraceAddressSnapRange shape)`
  `boolean`
  `shapeEquals(TraceAddressSnapRange shape)`

  ### Methods inherited from class ghidra.util.database.spatial.DBTreeDataRecord

  `asEntry, getDataCount, getRecordValue, setRecordValue, toString`

  ### Methods inherited from class ghidra.util.database.DBAnnotatedObject

  `doRefresh, doUpdateAll, doUpdated, doWrite, getObjectKey, getTableName, isDeleted, refresh, refresh, update, update, update, update`

  ### Methods inherited from class ghidra.program.database.DatabaseObject

  `checkDeleted, checkIsValid, checkIsValid, getKey, isDeleted, isInvalid, keyChanged, setDeleted, setInvalid, validate`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface ghidra.util.database.spatial.rect.Rectangle2D

  `computeAreaIntersection, computeAreaUnionBounds, computeCentroidDistance, contains, contains, doEquals, doHashCode, enclosedBy, encloses, getArea, getCenter, getMargin, intersection, intersects, unionBounds`

  ### Methods inherited from interface ghidra.trace.model.TraceAddressSnapRange

  `description, getX1, getX2, getY1, getY2, immutable`

- ## Field Details

  - ### tree

    protected final DBTraceAddressSnapRangePropertyMapTree<T,? extends DBTraceAddressSnapRangePropertyMapTree.AbstractDBTraceAddressSnapRangePropertyMapData<T>> tree

  - ### range

    protected AddressRange range

  - ### lifespan

    protected Lifespan lifespan

- ## Constructor Details

  - ### AbstractDBTraceAddressSnapRangePropertyMapData

    public AbstractDBTraceAddressSnapRangePropertyMapData(DBTraceAddressSnapRangePropertyMapTree<T,?> tree, DBCachedObjectStore<?> store, DBRecord record)

- ## Method Details

  - ### fresh

    protected void fresh(boolean created) throws IOException
    Description copied from class: `DBAnnotatedObject`
    Extension point: Called when the object's fields are populated.

    This provides an opportunity for the object to initialize any non-database-backed fields that depend on the database-backed fields. Note that its use may indicate a situation better solved by a custom `DBCachedObjectStoreFactory.DBFieldCodec`. If both the database-backed and non-database-backed fields are used frequently, then a codec may not be indicated. If the database-backed fields are only used in this method or to encode another frequently-used field, then a codec is likely better.

    For a new object, the database-backed fields remain at their initial values. They will be saved after this method returns, so they may be further initialized with custom logic.

    For an object loaded from the database, the database-backed fields are already populated from the record when this method is called. They are not automatically saved after this method returns. This method should not further initialize database-backed fields in this case.

    Overrides:
      `fresh` in class `DBAnnotatedObject`
    Parameters:
      `created` - `true` when object is being created, or `false` when it is being loaded.
    Throws:
      `IOException` - if further initialization fails.

  - ### setParentKey

    public void setParentKey(long parentKey)
    Specified by:
      `setParentKey` in class `DBTreeRecord<TraceAddressSnapRange,TraceAddressSnapRange>`

  - ### getParentKey

    public long getParentKey()
    Specified by:
      `getParentKey` in class `DBTreeRecord<TraceAddressSnapRange,TraceAddressSnapRange>`

  - ### setShape

    public void setShape(TraceAddressSnapRange shape)
    Specified by:
      `setShape` in class `DBTreeRecord<TraceAddressSnapRange,TraceAddressSnapRange>`

  - ### getShape

    public TraceAddressSnapRange getShape()
    Specified by:
      `getShape` in class `DBTreeRecord<TraceAddressSnapRange,TraceAddressSnapRange>`

  - ### getBounds

    public TraceAddressSnapRange getBounds()
    Specified by:
      `getBounds` in interface `BoundedShape<T>`
    Specified by:
      `getBounds` in interface `TraceAddressSnapRange`
    Specified by:
      `getBounds` in class `DBTreeRecord<TraceAddressSnapRange,TraceAddressSnapRange>`

  - ### getSpace

    public EuclideanSpace2D<Address,Long> getSpace()
    Specified by:
      `getSpace` in interface `Rectangle2D<Address,Long,TraceAddressSnapRange>`

  - ### getRange

    public AddressRange getRange()
    Specified by:
      `getRange` in interface `TraceAddressSnapRange`

  - ### doSetRange

    protected void doSetRange(AddressRange range)

  - ### doSetLifespan

    protected void doSetLifespan(Lifespan lifespan)

  - ### getLifespan

    public Lifespan getLifespan()
    Specified by:
      `getLifespan` in interface `TraceAddressSnapRange`

  - ### shapeEquals

    public boolean shapeEquals(TraceAddressSnapRange shape)
    Specified by:
      `shapeEquals` in class `DBTreeDataRecord<TraceAddressSnapRange,TraceAddressSnapRange,T>`

  - ### equals

    public boolean equals(Object obj)
    Overrides:
      `equals` in class `Object`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `Object`