Class DBTraceObjectValueData
- All Implemented Interfaces:
ValueShape,BoundedShape<ValueBox>
-
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
FieldsModifier and TypeFieldDescriptionprotected Addressprotected ValueBoxprotected Lifespanprotected final DBTraceObjectManagerprotected AddressRangeprotected final DBTraceObjectValueRStarTreeFields inherited from class ghidra.program.database.DatabaseObject
key -
Constructor Summary
ConstructorsConstructorDescriptionDBTraceObjectValueData(DBTraceObjectManager manager, DBTraceObjectValueRStarTree tree, DBCachedObjectStore<?> store, DBRecord record) -
Method Summary
Modifier and TypeMethodDescriptionvoiddoDelete()voiddoSetLifespan(Lifespan lifespan) protected voidfresh(boolean created) Extension point: Called when the object's fields are populated.intIf the value is an address or range, the id of the address spacegetChild()longlongprotected longprotected longlongprotected DBTraceObjectValueDataGet the value of this record Note that the value is sometimes the record itself, i.e., this method returnsthis.getShape()getValue()booleanvoidsetParentKey(long parentKey) protected voidSet the value of this record Note that the value is sometimes the record itself.voidsetShape(ValueShape shape) protected booleanshapeEquals(ValueShape shape) protected voidMethods inherited from class ghidra.util.database.spatial.DBTreeDataRecord
asEntry, getDataCount, toStringMethods inherited from class ghidra.util.database.DBAnnotatedObject
doRefresh, doUpdateAll, doUpdated, doWrite, getObjectKey, getTableName, isDeleted, refresh, refresh, update, update, update, updateMethods inherited from class ghidra.program.database.DatabaseObject
checkDeleted, checkIsValid, checkIsValid, getKey, isDeleted, isInvalid, keyChanged, setDeleted, setInvalid, validateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ghidra.trace.database.target.ValueShape
getMaxAddress, getMinAddress, getRange
-
Field Details
-
manager
-
tree
-
bounds
-
lifespan
-
address
-
range
-
-
Constructor Details
-
DBTraceObjectValueData
public DBTraceObjectValueData(DBTraceObjectManager manager, DBTraceObjectValueRStarTree tree, DBCachedObjectStore<?> store, DBRecord record)
-
-
Method Details
-
getObjParentKey
protected long getObjParentKey() -
getObjChildKey
protected long getObjChildKey() -
getAddressSpaceId
public int getAddressSpaceId()Description copied from interface:ValueShapeIf the value is an address or range, the id of the address space- Specified by:
getAddressSpaceIdin interfaceValueShape- Returns:
- the space id, or -1 for non-address value
-
getMinAddressOffset
public long getMinAddressOffset()- Specified by:
getMinAddressOffsetin interfaceValueShape
-
getMaxAddressOffset
public long getMaxAddressOffset()- Specified by:
getMaxAddressOffsetin interfaceValueShape
-
updateBounds
protected void updateBounds() -
fresh
Description copied from class:DBAnnotatedObjectExtension 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:
freshin classDBAnnotatedObject- Parameters:
created-truewhen object is being created, orfalsewhen it is being loaded.- Throws:
IOException- if further initialization fails.
-
getParent
- Specified by:
getParentin interfaceValueShape
-
getEntryKey
- Specified by:
getEntryKeyin interfaceValueShape
-
getValue
-
getChild
- Specified by:
getChildin interfaceValueShape
-
getLifespan
- Specified by:
getLifespanin interfaceValueShape
-
shapeEquals
- Specified by:
shapeEqualsin classDBTreeDataRecord<ValueShape,ValueBox, DBTraceObjectValueData>
-
setRecordValue
Description copied from class:DBTreeDataRecordSet the value of this record Note that the value is sometimes the record itself. In this case, this method expectsvalueto benulland does nothing. SeeSpatialMap.put(BoundedShape, Object)for more details of this pattern.- Specified by:
setRecordValuein classDBTreeDataRecord<ValueShape,ValueBox, DBTraceObjectValueData> - Parameters:
value- the record's new value
-
getRecordValue
Description copied from class:DBTreeDataRecordGet the value of this record Note that the value is sometimes the record itself, i.e., this method returnsthis. SeeSpatialMap.put(BoundedShape, Object)for more details of this pattern.- Specified by:
getRecordValuein classDBTreeDataRecord<ValueShape,ValueBox, DBTraceObjectValueData> - Returns:
- the record's value
-
getShape
- Specified by:
getShapein classDBTreeRecord<ValueShape,ValueBox>
-
getBounds
- Specified by:
getBoundsin interfaceBoundedShape<ValueBox>- Specified by:
getBoundsin classDBTreeRecord<ValueShape,ValueBox>
-
setShape
- Specified by:
setShapein classDBTreeRecord<ValueShape,ValueBox>
-
getParentKey
public long getParentKey()- Specified by:
getParentKeyin classDBTreeRecord<ValueShape,ValueBox>
-
setParentKey
public void setParentKey(long parentKey) - Specified by:
setParentKeyin classDBTreeRecord<ValueShape,ValueBox>
-
description
- Specified by:
descriptionin interfaceBoundedShape<ValueBox>
-
getManager
-
getChildOrNull
- Specified by:
getChildOrNullin interfaceValueShape
-
doSetLifespan
-
doDelete
public void doDelete() -
getWrapper
-
isDeleted
boolean isDeleted()
-