Package ghidra.trace.database.target

# Interface DBTraceObjectInterface

All Superinterfaces:
  `TraceObjectInterface`, `TraceUniqueObject`

All Known Implementing Classes:
  `DBTraceBreakpointLocation`, `DBTraceBreakpointSpec`, `DBTraceMemoryRegion`, `DBTraceModule`, `DBTraceObjectActivatable`, `DBTraceObjectAggregate`, `DBTraceObjectEnvironment`, `DBTraceObjectEventScope`, `DBTraceObjectExecutionStateful`, `DBTraceObjectFocusScope`, `DBTraceObjectMemory`, `DBTraceObjectMethod`, `DBTraceObjectProcess`, `DBTraceObjectRegister`, `DBTraceObjectRegisterContainer`, `DBTraceObjectTogglable`, `DBTraceSection`, `DBTraceStack`, `DBTraceStackFrame`, `DBTraceThread`

public interface DBTraceObjectInterface extends TraceObjectInterface, TraceUniqueObject

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static class`
  `DBTraceObjectInterface.Translator<T>`

- ## Field Summary

  ### Fields inherited from interface ghidra.trace.model.target.iface.TraceObjectInterface

  `KEY_COMMENT, KEY_DISPLAY, KEY_KIND, KEY_MODIFIED, KEY_ORDER, KEY_SHORT_DISPLAY, KEY_TYPE, KEY_VALUE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default ObjectKey`
  `getObjectKey()`
  Get an opaque unique id for this object, whose hash is immutable
  `default boolean`
  `isDeleted()`
  Check if this object is deleted
  `default AddressSpace`
  `spaceForValue(long snap, String key)`
  `static AddressSpace`
  `spaceForValue(TraceObject object, long snap, String key)`
  `TraceChangeRecord<?,?>`
  `translateEvent(TraceChangeRecord<?,?> rec)`
  Translate an object event into the interface-specific event

  ### Methods inherited from interface ghidra.trace.model.target.iface.TraceObjectInterface

  `getObject`

- ## Method Details

  - ### translateEvent

    TraceChangeRecord<?,?> translateEvent(TraceChangeRecord<?,?> rec)
    Translate an object event into the interface-specific event

    Both the object event and the interface-specific event, if applicable, will be emitted. If multiple events need to be emitted, then this method may emit them directly via its object's trace. If exactly one event needs to be emitted, then this method should return the translated record. If no translation applies, or if the translated event(s) were emitted directly, this method returns `null`.

    Parameters:
      `rec` - the object event
    Returns:
      the interface-specific event to emit, or `null`

  - ### spaceForValue

    static AddressSpace spaceForValue(TraceObject object, long snap, String key)

  - ### spaceForValue

    default AddressSpace spaceForValue(long snap, String key)

  - ### getObjectKey

    default ObjectKey getObjectKey()
    Description copied from interface: `TraceUniqueObject`
    Get an opaque unique id for this object, whose hash is immutable
    Specified by:
      `getObjectKey` in interface `TraceUniqueObject`
    Returns:
      the opaque object id

  - ### isDeleted

    default boolean isDeleted()
    Description copied from interface: `TraceUniqueObject`
    Check if this object is deleted
    Specified by:
      `isDeleted` in interface `TraceUniqueObject`
    Returns:
      true if deleted