Class DBTraceObject
- All Implemented Interfaces:
TraceObject,TraceUniqueObject
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final classNested classes/interfaces inherited from interface ghidra.trace.model.target.TraceObject
TraceObject.ConflictResolution -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final DBTraceObjectManagerprotected static final StringFields inherited from class ghidra.program.database.DatabaseObject
keyFields inherited from interface ghidra.trace.model.target.TraceObject
EXTRA_INTERFACES_ATTRIBUTE_NAME -
Constructor Summary
ConstructorsConstructorDescriptionDBTraceObject(DBTraceObjectManager manager, DBCachedObjectStore<?> store, DBRecord record) -
Method Summary
Modifier and TypeMethodDescriptionvoiddelete()Delete this object along with parent and child value entries referring to itprotected Lifespanprotected voiddoCheckConflicts(Lifespan span, String key, Object value) protected DBTraceObjectprotected DBTraceObjectValuedoCreateValue(Lifespan lifespan, String key, Object value) protected voiddoDelete()protected voidprotected DBTraceObjectprotected booleanprotected booleanprotected DBTraceObjectValPathdoInsert(Lifespan lifespan, TraceObject.ConflictResolution resolution) protected booleanprotected voidprotected voiddoRemoveTree(Lifespan span) protected Stream<? extends TraceObjectValPath> doStreamVisitor(Lifespan span, TreeTraversal.Visitor visitor) protected voidemitEvents(TraceChangeRecord<?, ?> rec) protected Lifespan.LifeSetStream<? extends TraceObjectValPath> findAncestorsInterface(Lifespan span, Class<? extends TraceObjectInterface> iface) Search for ancestors having the given interfaceStream<? extends TraceObject> findCanonicalAncestorsInterface(Class<? extends TraceObjectInterface> iface) Search for ancestors on the canonical path having the given interfacefindOrCreateCanonicalAncestorInterface(Class<? extends TraceObjectInterface> iface) Stream<? extends TraceObjectValPath> findSuccessorsInterface(Lifespan span, Class<? extends TraceObjectInterface> iface, boolean requireCanonical) Search for successors having the given interfaceprotected voidfresh(boolean created) Extension point: Called when the object's fields are populated.protected voidStream<? extends TraceObjectValPath> getAllPaths(Lifespan span) Get all paths actually leading to this object, from the root, within the given spanStream<? extends TraceObjectValPath> getAncestors(Lifespan span, PathFilter relativeFilter) Stream all ancestor values of this object matching the given filter, intersecting the given spanStream<? extends TraceObjectValPath> getAncestorsRoot(Lifespan span, PathFilter rootFilter) Stream all ancestor values of this object matching the given filter, intersecting the given spangetAttribute(long snap, String name) Get the value for the given snap and attribute namegetAttributes(Lifespan lifespan) Get all attributes of this object intersecting the given spangetCanonicalParent(long snap) Get the parent value along this object's canonical path for a given snapshotgetCanonicalParents(Lifespan lifespan) Get the parent values along this object's canonical path for a given lifespanGet the canonical path of this objectStream<? extends TraceObjectValPath> getCanonicalSuccessors(PathFilter relativeFilter) Stream all canonical successor values of this object matching the given filtergetElement(long snap, long index) Get the value for the given snap and element indexgetElement(long snap, String index) Get the value for the given snap and element indexgetElements(Lifespan lifespan) Get all elements of this object intersecting the given spanCollection<Class<? extends TraceObjectInterface>> Get all the interface classes provided by this object, according to the schemagetLife()Get all ranges of this object's lifeStream<? extends TraceObjectValPath> getOrderedSuccessors(Lifespan span, KeyPath relativePath, boolean forward) Stream all successor values of this object at the given relative path, intersecting the given span, ordered by time.getOrderedValues(Lifespan span, String key, boolean forward) Get values with the given key intersecting the given span ordered by timegetParents(Lifespan lifespan) Get all values intersecting the given span and whose child is this objectgetRoot()Get the root of the tree containing this objectGet the schema for this objectStream<? extends TraceObjectValPath> getSuccessors(Lifespan span, PathFilter relativeFilter) Stream all successor values of this object matching the given filter, intersecting the given spangetTrace()Get the trace containing this objectGet the value for the given snap and keyprotected DBTraceObjectValueGet all values (elements and attributes) of this object intersecting the given spanCollection<? extends DBTraceObjectValue> Get values with the given key intersecting the given spanprotected DBTraceObjectValueinsert(Lifespan lifespan, TraceObject.ConflictResolution resolution) Inserts this object at its canonical path for the given lifespanbooleanisAlive(long snap) Check if the object is alive at the given snapbooleanCheck if the object is alive at all in the given spanbooleanisRoot()Check if this object is the rootprotected voidprotected voidprotected voidprotected void<I extends TraceObjectInterface>
Stream<I> queryAncestorsInterface(Lifespan span, Class<I> iface) Search for ancestors having the given interface and retrieve those interfaces<I extends TraceObjectInterface>
Stream<I> queryCanonicalAncestorsInterface(Class<I> iface) Search for ancestors on the canonical path having the given interface and retrieve those interfaces<I extends TraceObjectInterface>
IqueryInterface(Class<I> ifCls) Request the specified interface provided by this object<I extends TraceObjectInterface>
IqueryOrCreateCanonicalAncestorInterface(Class<I> iface) <I extends TraceObjectInterface>
Stream<I> querySuccessorsInterface(Lifespan span, Class<I> iface, boolean requireCanonical) Search for successors having the given interface and retrieve those interfacesvoidRemove this object from its canonical path for the given lifespanvoidremoveTree(Lifespan span) Remove this object and its successors from their canonical paths for the given spanprotected voidsetAttribute(Lifespan lifespan, String name, Object value) Set an attribute for the given lifespansetElement(Lifespan lifespan, long index, Object value) Set an element for the given lifespansetElement(Lifespan lifespan, String index, Object value) Set an element for the given lifespanSet a value for the given lifespan, truncating existing entriessetValue(Lifespan lifespan, String key, Object value, TraceObject.ConflictResolution resolution) Set a value for the given lifespanprotected Stream<DBTraceObjectValue> streamCanonicalParents(Lifespan lifespan) protected Stream<DBTraceObjectValueBehind> streamCanonicalParentsBehind(Lifespan lifespan) protected Stream<DBTraceObjectValueData> streamCanonicalParentsData(Lifespan lifespan) protected Stream<DBTraceObjectValue> streamParents(Lifespan lifespan) protected Stream<DBTraceObjectValueBehind> streamParentsBehind(Lifespan lifespan) protected Stream<DBTraceObjectValueData> streamParentsData(Lifespan lifespan) protected Stream<DBTraceObjectValueBehind> streamValuesBehind(Lifespan lifespan) protected Stream<DBTraceObjectValueBehind> streamValuesBehind(Lifespan span, String key, boolean forward) protected Stream<DBTraceObjectValueData> streamValuesData(Lifespan lifespan) protected Stream<DBTraceObjectValueData> streamValuesData(Lifespan span, String key, boolean forward) protected Stream<DBTraceObjectValue> streamValuesR(Lifespan lifespan) protected Stream<DBTraceObjectValue> streamValuesR(Lifespan span, String key, boolean forward) protected Stream<DBTraceObjectValue> streamValuesW(Lifespan lifespan) protected Stream<DBTraceObjectValue> streamValuesW(Lifespan span, String key, boolean forward) toString()Methods 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.model.target.TraceObject
findRegisterContainer, findSuitableContainerInterface, findSuitableInterface, findSuitableSchema, getExecutionState, getKey, isDeleted, isMethodMethods inherited from interface ghidra.trace.model.TraceUniqueObject
getObjectKey
-
Field Details
-
TABLE_NAME
- See Also:
-
manager
-
-
Constructor Details
-
DBTraceObject
-
-
Method Details
-
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.
-
toString
-
freshIfaces
protected void freshIfaces() -
set
-
getTrace
Description copied from interface:TraceObjectGet the trace containing this object- Specified by:
getTracein interfaceTraceObject- Returns:
- the trace
-
getManager
-
getRoot
Description copied from interface:TraceObjectGet the root of the tree containing this object- Specified by:
getRootin interfaceTraceObject- Returns:
- the root
-
getCanonicalPath
Description copied from interface:TraceObjectGet the canonical path of this object- Specified by:
getCanonicalPathin interfaceTraceObject- Returns:
- the path
-
ensureCachedLife
-
getLife
Description copied from interface:TraceObjectGet all ranges of this object's lifeEssentially, this is the union of the lifespans of all canonical parent values
- Specified by:
getLifein interfaceTraceObject- Returns:
- the range set for snaps at which this object is considered "inserted."
-
isAlive
public boolean isAlive(long snap) Description copied from interface:TraceObjectCheck if the object is alive at the given snapThis is preferable to
TraceObject.getLife(), when we only need to check one snap- Specified by:
isAlivein interfaceTraceObject- Parameters:
snap- the snap- Returns:
- true if alive, false if not
-
isAlive
Description copied from interface:TraceObjectCheck if the object is alive at all in the given span- Specified by:
isAlivein interfaceTraceObject- Parameters:
span- the span- Returns:
- true if alive, false if not
-
doCreateCanonicalParentObject
-
doGetCanonicalParentObject
-
doInsert
protected DBTraceObjectValPath doInsert(Lifespan lifespan, TraceObject.ConflictResolution resolution) -
insert
Description copied from interface:TraceObjectInserts this object at its canonical path for the given lifespanAny ancestor which does not exist is created. Values' lifespans are added or expanded to contain the given lifespan. Only the canonical path is considered when looking for existing ancestry.
- Specified by:
insertin interfaceTraceObject- Parameters:
lifespan- the minimum lifespan of edges from the root to this objectresolution- the rule for handling duplicate keys when setting values.- Returns:
- the value path from root to the newly inserted object
-
doRemove
-
remove
Description copied from interface:TraceObjectRemove this object from its canonical path for the given lifespanTruncate the lifespans of this object's canonical parent value by the given span. If the parent value's lifespan is contained in the given span, the parent value will be deleted.
- Specified by:
removein interfaceTraceObject- Parameters:
span- the span during which this object should be removed
-
doRemoveTree
-
removeTree
Description copied from interface:TraceObjectRemove this object and its successors from their canonical paths for the given spanTruncate the lifespans of this object's parent values and all canonical values succeeding this object. If a truncated value's lifespan is contained in the given span, the value will be deleted.
- Specified by:
removeTreein interfaceTraceObject- Parameters:
span- the span during which this object and its canonical successors should be removed
-
streamCanonicalParentsData
-
streamCanonicalParentsBehind
-
streamCanonicalParents
-
getCanonicalParent
Description copied from interface:TraceObjectGet the parent value along this object's canonical path for a given snapshotTo be the canonical parent value at a given snapshot, three things must be true: 1) The parent object must have this object's path with the final key removed. 2) The parent value's entry key must be equal to the final key of this object's path. 3) The value's lifespan must contain the given snapshot. If no value satisfies these, null is returned, and the object and its subtree are said to be "detached" at the given snapshot.
- Specified by:
getCanonicalParentin interfaceTraceObject- Parameters:
snap- the snapshot key- Returns:
- the canonical parent value, or null
-
getCanonicalParents
Description copied from interface:TraceObjectGet the parent values along this object's canonical path for a given lifespanTo be a canonical parent in a given lifespan, three things must be true: 1) The parent object must have this object's path with the final key removed. 2) The parent value's entry key must be equal to the final key of this object's path. 3) The value's lifespan must intersect the given lifespan. If the result is empty, the object and its subtree are said to be "detatched" during the given lifespan.
- Specified by:
getCanonicalParentsin interfaceTraceObject- Parameters:
lifespan- the lifespan to consider- Returns:
- the stream of canonical parents
-
isRoot
public boolean isRoot()Description copied from interface:TraceObjectCheck if this object is the root- Specified by:
isRootin interfaceTraceObject- Returns:
- true if root
-
getAllPaths
Description copied from interface:TraceObjectGet all paths actually leading to this object, from the root, within the given spanAliased keys are excluded.
- Specified by:
getAllPathsin interfaceTraceObject- Parameters:
span- the span which every value entry on each path must intersect- Returns:
- the paths
-
getInterfaces
Description copied from interface:TraceObjectGet all the interface classes provided by this object, according to the schema- Specified by:
getInterfacesin interfaceTraceObject- Returns:
- the collection of interface classes
-
queryInterface
Description copied from interface:TraceObjectRequest the specified interface provided by this object- Specified by:
queryInterfacein interfaceTraceObject- Type Parameters:
I- the type of the interface- Parameters:
ifCls- the class of the interface- Returns:
- the interface, or null if not provided
-
streamParentsData
-
streamParentsBehind
-
streamParents
-
getParents
Description copied from interface:TraceObjectGet all values intersecting the given span and whose child is this objectAliased keys are excluded.
- Specified by:
getParentsin interfaceTraceObject- Parameters:
lifespan- the span- Returns:
- the parent values
-
doHasAnyValues
protected boolean doHasAnyValues() -
streamValuesData
-
streamValuesBehind
-
streamValuesW
-
streamValuesR
-
doHasAnyParents
protected boolean doHasAnyParents() -
doIsConnected
protected boolean doIsConnected() -
getValues
Description copied from interface:TraceObjectGet all values (elements and attributes) of this object intersecting the given spanAliased keys are excluded.
- Specified by:
getValuesin interfaceTraceObject- Parameters:
lifespan- the span- Returns:
- the values
-
getElements
Description copied from interface:TraceObjectGet all elements of this object intersecting the given span- Specified by:
getElementsin interfaceTraceObject- Parameters:
lifespan- the span- Returns:
- the element values
-
getAttributes
Description copied from interface:TraceObjectGet all attributes of this object intersecting the given spanAliased keys are excluded.
- Specified by:
getAttributesin interfaceTraceObject- Parameters:
lifespan- the span- Returns:
- the attribute values
-
doCheckConflicts
-
doAdjust
-
streamValuesData
protected Stream<DBTraceObjectValueData> streamValuesData(Lifespan span, String key, boolean forward) -
streamValuesBehind
protected Stream<DBTraceObjectValueBehind> streamValuesBehind(Lifespan span, String key, boolean forward) -
streamValuesW
-
streamValuesR
-
getValues
Description copied from interface:TraceObjectGet values with the given key intersecting the given spanIf the key is an alias, the target key's values are retrieved instead.
- Specified by:
getValuesin interfaceTraceObject- Parameters:
span- the spankey- the key- Returns:
- the collection of values
-
getValueW
-
getValueR
-
getValue
Description copied from interface:TraceObjectGet the value for the given snap and keyIf the key is an alias, the target key's value is retrieved instead.
- Specified by:
getValuein interfaceTraceObject- Parameters:
snap- the snapkey- the key- Returns:
- the value entry
-
getOrderedValues
Description copied from interface:TraceObjectGet values with the given key intersecting the given span ordered by timeIf the key is an alias, the target key's values are retrieved instead.
- Specified by:
getOrderedValuesin interfaceTraceObject- Parameters:
span- the spankey- the keyforward- true to order from least- to most-recent, false for most- to least-recent- Returns:
- the stream of values
-
getElement
Description copied from interface:TraceObjectGet the value for the given snap and element indexThis is equivalent to
TraceObject.getValue(long, String), but converts index to a key, i.e., adds brackets.- Specified by:
getElementin interfaceTraceObject- Parameters:
snap- the snapindex- the index- Returns:
- the value entry
-
getElement
Description copied from interface:TraceObjectGet the value for the given snap and element indexThis is equivalent to
TraceObject.getElement(long, String), but converts index to a string in decimal.- Specified by:
getElementin interfaceTraceObject- Parameters:
snap- the snapindex- the index- Returns:
- the value entry
-
getAttribute
Description copied from interface:TraceObjectGet the value for the given snap and attribute nameThis is equivalent to
TraceObject.getValue(long, String), except it validates that name is not an index.- Specified by:
getAttributein interfaceTraceObject- Parameters:
snap- the snapname- the name- Returns:
- the value entry
-
doStreamVisitor
protected Stream<? extends TraceObjectValPath> doStreamVisitor(Lifespan span, TreeTraversal.Visitor visitor) -
getAncestors
Description copied from interface:TraceObjectStream all ancestor values of this object matching the given filter, intersecting the given spanAliased keys are excluded. The filter should be formulated to use the aliases' target attributes.
- Specified by:
getAncestorsin interfaceTraceObject- Parameters:
span- a span which values along the path must intersectrelativeFilter- the filter for matching path keys, relative to this object- Returns:
- the stream of matching paths to values
-
getAncestorsRoot
Description copied from interface:TraceObjectStream all ancestor values of this object matching the given filter, intersecting the given spanAliased keys are excluded. The filter should be formulated to use the aliases' target attributes.
- Specified by:
getAncestorsRootin interfaceTraceObject- Parameters:
span- a span which values along the path must intersectrootFilter- the filter for matching path keys, relative to the root- Returns:
- the stream of matching paths to values
-
getSuccessors
Description copied from interface:TraceObjectStream all successor values of this object matching the given filter, intersecting the given spanAliased keys are excluded. The filter should be formulated to use the aliases' target attributes.
- Specified by:
getSuccessorsin interfaceTraceObject- Parameters:
span- a span which values along the path must intersectrelativeFilter- the filter for matching path keys, relative to this object- Returns:
- the stream of matching paths to values
-
getOrderedSuccessors
public Stream<? extends TraceObjectValPath> getOrderedSuccessors(Lifespan span, KeyPath relativePath, boolean forward) Description copied from interface:TraceObjectStream all successor values of this object at the given relative path, intersecting the given span, ordered by time.Aliased keys are excluded. The filter should be formulated to use the aliases' target attributes.
- Specified by:
getOrderedSuccessorsin interfaceTraceObject- Parameters:
span- the span which values along the path must intersectrelativePath- the path relative to this objectforward- true to order from least- to most-recent, false for most- to least-recent- Returns:
- the stream of value paths
-
getCanonicalSuccessors
Description copied from interface:TraceObjectStream all canonical successor values of this object matching the given filterIf an object has a disjoint life, i.e., multiple canonical parents, then only the least-recent of those is traversed. Aliased keys are excluded; those can't be canonical anyway. By definition, a primitive value is not canonical, even if it is the final value in the path.
- Specified by:
getCanonicalSuccessorsin interfaceTraceObject- Parameters:
relativeFilter- filter on the relative path from this object to desired successors- Returns:
- the stream of value paths
-
doCreateValue
-
setValue
public DBTraceObjectValue setValue(Lifespan lifespan, String key, Object value, TraceObject.ConflictResolution resolution) Description copied from interface:TraceObjectSet a value for the given lifespanIf the key is an alias, the target key's value is set instead.
- Specified by:
setValuein interfaceTraceObject- Parameters:
lifespan- the lifespan of the valuekey- the key to setvalue- the new valueresolution- determines how to resolve duplicate keys with intersecting lifespans- Returns:
- the created value entry
-
setValue
Description copied from interface:TraceObjectSet a value for the given lifespan, truncating existing entriesSetting a value of
nulleffectively deletes the value for the given lifespan and returnsnull. Values of the same key intersecting the given lifespan or either truncated or deleted. If the key is an alias, the target key's value is set instead.- Specified by:
setValuein interfaceTraceObject- Parameters:
lifespan- the lifespan of the valuekey- the key to setvalue- the new value- Returns:
- the created value entry, or null
-
setAttribute
Description copied from interface:TraceObjectSet an attribute for the given lifespanThis is equivalent to
TraceObject.setValue(Lifespan, String, Object), except it verifies the key is an attribute name.- Specified by:
setAttributein interfaceTraceObject- Parameters:
lifespan- the lifespan of the attributename- the name to setvalue- the new value- Returns:
- the created value entry
-
setElement
Description copied from interface:TraceObjectSet an element for the given lifespanThis is equivalent to
TraceObject.setValue(Lifespan, String, Object), except it converts the index to a key, i.e., add brackets.- Specified by:
setElementin interfaceTraceObject- Parameters:
lifespan- the lifespan of the elementindex- the index to setvalue- the new value- Returns:
- the created value entry
-
setElement
Description copied from interface:TraceObjectSet an element for the given lifespan- Specified by:
setElementin interfaceTraceObject- Parameters:
lifespan- the lifespan of the elementindex- the index to setvalue- the new value- Returns:
- the created value entry
-
getSchema
Description copied from interface:TraceObjectGet the schema for this object- Specified by:
getSchemain interfaceTraceObject- Returns:
- the schema
-
findAncestorsInterface
public Stream<? extends TraceObjectValPath> findAncestorsInterface(Lifespan span, Class<? extends TraceObjectInterface> iface) Description copied from interface:TraceObjectSearch for ancestors having the given interface- Specified by:
findAncestorsInterfacein interfaceTraceObject- Parameters:
span- the span which the found objects must intersectiface- the interface class- Returns:
- the stream of found paths to values
-
queryAncestorsInterface
public <I extends TraceObjectInterface> Stream<I> queryAncestorsInterface(Lifespan span, Class<I> iface) Description copied from interface:TraceObjectSearch for ancestors having the given interface and retrieve those interfaces- Specified by:
queryAncestorsInterfacein interfaceTraceObject- Type Parameters:
I- the interface type- Parameters:
span- the span which the found objects must intersectiface- the interface class- Returns:
- the stream of interfaces
-
findOrCreateCanonicalAncestorInterface
public TraceObject findOrCreateCanonicalAncestorInterface(Class<? extends TraceObjectInterface> iface) -
queryOrCreateCanonicalAncestorInterface
-
findCanonicalAncestorsInterface
public Stream<? extends TraceObject> findCanonicalAncestorsInterface(Class<? extends TraceObjectInterface> iface) Description copied from interface:TraceObjectSearch for ancestors on the canonical path having the given interfaceThe object may not yet be inserted at its canonical path.
- Specified by:
findCanonicalAncestorsInterfacein interfaceTraceObject- Parameters:
iface- the interface class- Returns:
- the stream of objects
-
queryCanonicalAncestorsInterface
Description copied from interface:TraceObjectSearch for ancestors on the canonical path having the given interface and retrieve those interfacesThe object may not yet be inserted at its canonical path.
- Specified by:
queryCanonicalAncestorsInterfacein interfaceTraceObject- Type Parameters:
I- the interface type- Parameters:
iface- the interface class- Returns:
- the stream of interfaces
-
findSuccessorsInterface
public Stream<? extends TraceObjectValPath> findSuccessorsInterface(Lifespan span, Class<? extends TraceObjectInterface> iface, boolean requireCanonical) Description copied from interface:TraceObjectSearch for successors having the given interface- Specified by:
findSuccessorsInterfacein interfaceTraceObject- Parameters:
span- the span which the found paths must intersectiface- the interface classrequireCanonical- if the objects must be found within their canonical container- Returns:
- the stream of found paths to values
-
querySuccessorsInterface
public <I extends TraceObjectInterface> Stream<I> querySuccessorsInterface(Lifespan span, Class<I> iface, boolean requireCanonical) Description copied from interface:TraceObjectSearch for successors having the given interface and retrieve those interfaces- Specified by:
querySuccessorsInterfacein interfaceTraceObject- Type Parameters:
I- the interface type- Parameters:
span- the span which the found objects must intersectiface- the interface classrequireCanonical- if the objects must be found within their canonical container- Returns:
- the stream of interfaces
-
doDelete
protected void doDelete() -
doDeleteReferringValues
protected void doDeleteReferringValues() -
delete
public void delete()Description copied from interface:TraceObjectDelete this object along with parent and child value entries referring to itWarning: This will remove the object from the manager entirely, not just over a given span. In general, this is used for cleaning and maintenance. Consider
TraceObject.remove(Lifespan)orTraceObjectValue.delete()instead. Note, this does not delete the child objects or any successors. It is not recommended to invoke this on the root object, since it cannot be replaced without first clearing the manager.- Specified by:
deletein interfaceTraceObject
-
emitEvents
-
notifyValueCreated
-
notifyValueDeleted
-
notifyParentValueCreated
-
notifyParentValueDeleted
-