Package ghidra.trace.database.target

# Class DBTraceObjectValueNode

java.lang.Object
ghidra.program.database.DatabaseObject
ghidra.util.database.DBAnnotatedObject
ghidra.util.database.spatial.DBTreeRecord<ValueBox,ValueBox>
ghidra.util.database.spatial.DBTreeNodeRecord<ValueBox>
ghidra.trace.database.target.DBTraceObjectValueNode

All Implemented Interfaces:
  `ValueBox`, `BoundedShape<ValueBox>`, `BoundingShape<ValueBox>`, `HyperBox<ghidra.trace.database.target.ValueTriple,ValueBox>`

public class DBTraceObjectValueNode extends DBTreeNodeRecord<ValueBox> implements ValueBox

- ## Nested Class Summary

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

  `DBTreeNodeRecord.NodeType`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final byte`
  `CHILD_COUNT_CLEAR`
  `protected static final byte`
  `CHILD_COUNT_MASK`
  `protected static final int`
  `CHILD_COUNT_SHIFT`
  `protected static final byte`
  `NODE_TYPE_CLEAR`
  `protected static final byte`
  `NODE_TYPE_MASK`
  `protected static final int`
  `NODE_TYPE_SHIFT`
  `protected final DBTraceObjectValueRStarTree`
  `tree`

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

  `key`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DBTraceObjectValueNode(DBTraceObjectValueRStarTree tree, DBCachedObjectStore<?> store, DBRecord record)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `fresh(boolean created)`
  Extension point: Called when the object's fields are populated.
  `ValueBox`
  `getBounds()`
  `protected int`
  `getChildCount()`
  Get the number of direct descendants of this node
  `protected int`
  `getDataCount()`
  Get the total number of data entries in this sub-tree For data entries, this is 1.
  `long`
  `getParentKey()`
  `ValueBox`
  `getShape()`
  `protected DBTreeNodeRecord.NodeType`
  `getType()`
  `ghidra.trace.database.target.ValueTriple`
  `lCorner()`
  `protected void`
  `setChildCount(int childCount)`
  `protected void`
  `setDataCount(int dataCount)`
  `void`
  `setParentKey(long parentKey)`
  `void`
  `setShape(ValueBox shape)`
  `protected void`
  `setType(DBTreeNodeRecord.NodeType type)`
  `ghidra.trace.database.target.ValueTriple`
  `uCorner()`

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

  `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, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface ghidra.util.database.spatial.hyper.HyperBox

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

  ### Methods inherited from interface ghidra.trace.database.target.ValueBox

  `description, immutable, space`

- ## Field Details

  - ### NODE_TYPE_MASK

    protected static final byte NODE_TYPE_MASK
    See Also:
      - Constant Field Values

  - ### NODE_TYPE_SHIFT

    protected static final int NODE_TYPE_SHIFT
    See Also:
      - Constant Field Values

  - ### NODE_TYPE_CLEAR

    protected static final byte NODE_TYPE_CLEAR
    See Also:
      - Constant Field Values

  - ### CHILD_COUNT_MASK

    protected static final byte CHILD_COUNT_MASK
    See Also:
      - Constant Field Values

  - ### CHILD_COUNT_SHIFT

    protected static final int CHILD_COUNT_SHIFT
    See Also:
      - Constant Field Values

  - ### CHILD_COUNT_CLEAR

    protected static final byte CHILD_COUNT_CLEAR
    See Also:
      - Constant Field Values

  - ### tree

    protected final DBTraceObjectValueRStarTree tree

- ## Constructor Details

  - ### DBTraceObjectValueNode

    public DBTraceObjectValueNode(DBTraceObjectValueRStarTree 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.

  - ### lCorner

    public ghidra.trace.database.target.ValueTriple lCorner()
    Specified by:
      `lCorner` in interface `HyperBox<ghidra.trace.database.target.ValueTriple,ValueBox>`

  - ### uCorner

    public ghidra.trace.database.target.ValueTriple uCorner()
    Specified by:
      `uCorner` in interface `HyperBox<ghidra.trace.database.target.ValueTriple,ValueBox>`

  - ### getType

    protected DBTreeNodeRecord.NodeType getType()
    Specified by:
      `getType` in class `DBTreeNodeRecord<ValueBox>`

  - ### setType

    protected void setType(DBTreeNodeRecord.NodeType type)
    Specified by:
      `setType` in class `DBTreeNodeRecord<ValueBox>`

  - ### getChildCount

    protected int getChildCount()
    Description copied from class: `DBTreeNodeRecord`
    Get the number of direct descendants of this node
    Specified by:
      `getChildCount` in class `DBTreeNodeRecord<ValueBox>`
    Returns:
      the child count

  - ### setChildCount

    protected void setChildCount(int childCount)
    Specified by:
      `setChildCount` in class `DBTreeNodeRecord<ValueBox>`

  - ### getDataCount

    protected int getDataCount()
    Description copied from class: `DBTreeRecord`
    Get the total number of data entries in this sub-tree For data entries, this is 1.
    Specified by:
      `getDataCount` in class `DBTreeRecord<ValueBox,ValueBox>`
    Returns:
      the data count

  - ### setDataCount

    protected void setDataCount(int dataCount)
    Specified by:
      `setDataCount` in class `DBTreeNodeRecord<ValueBox>`

  - ### getShape

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

  - ### setShape

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

  - ### getBounds

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

  - ### getParentKey

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

  - ### setParentKey

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