Package ghidra.trace.database.memory

# Class DBTraceObjectRegister

java.lang.Object
ghidra.trace.database.memory.DBTraceObjectRegister

All Implemented Interfaces:
  `DBTraceObjectInterface`, `TraceRegister`, `TraceObjectInterface`, `TraceUniqueObject`

public class DBTraceObjectRegister extends Object implements TraceRegister, DBTraceObjectInterface

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface ghidra.trace.database.target.DBTraceObjectInterface

  `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`

  ### Fields inherited from interface ghidra.trace.model.memory.TraceRegister

  `KEY_BITLENGTH, KEY_STATE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DBTraceObjectRegister(DBTraceObject object)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getBitLength(long snap)`
  `String`
  `getName()`
  `TraceObject`
  `getObject()`
  Get the object backing this implementation
  `TraceMemoryState`
  `getState(long snap)`
  `TraceThread`
  `getThread()`
  `byte[]`
  `getValue(long snap)`
  `void`
  `setState(Lifespan lifespan, TraceMemoryState state)`
  `void`
  `setValue(Lifespan lifespan, byte[] value)`
  `TraceChangeRecord<?,?>`
  `translateEvent(TraceChangeRecord<?,?> rec)`
  Translate an object event into the interface-specific event

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

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

  `getObjectKey, isDeleted, spaceForValue`

  ### Methods inherited from interface ghidra.trace.model.memory.TraceRegister

  `getByteLength`

- ## Constructor Details

  - ### DBTraceObjectRegister

    public DBTraceObjectRegister(DBTraceObject object)

- ## Method Details

  - ### getObject

    public TraceObject getObject()
    Description copied from interface: `TraceObjectInterface`
    Get the object backing this implementation
    Specified by:
      `getObject` in interface `TraceObjectInterface`
    Returns:
      the object

  - ### getThread

    public TraceThread getThread()
    Specified by:
      `getThread` in interface `TraceRegister`

  - ### getName

    public String getName()
    Specified by:
      `getName` in interface `TraceRegister`

  - ### getBitLength

    public int getBitLength(long snap)
    Specified by:
      `getBitLength` in interface `TraceRegister`

  - ### setValue

    public void setValue(Lifespan lifespan, byte[] value)
    Specified by:
      `setValue` in interface `TraceRegister`

  - ### getValue

    public byte[] getValue(long snap)
    Specified by:
      `getValue` in interface `TraceRegister`

  - ### setState

    public void setState(Lifespan lifespan, TraceMemoryState state)
    Specified by:
      `setState` in interface `TraceRegister`

  - ### getState

    public TraceMemoryState getState(long snap)
    Specified by:
      `getState` in interface `TraceRegister`

  - ### translateEvent

    public TraceChangeRecord<?,?> translateEvent(TraceChangeRecord<?,?> rec)
    Description copied from interface: `DBTraceObjectInterface`
    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`.

    Specified by:
      `translateEvent` in interface `DBTraceObjectInterface`
    Parameters:
      `rec` - the object event
    Returns:
      the interface-specific event to emit, or `null`