Package ghidra.trace.model.listing

# Interface TraceData

All Superinterfaces:
  `CodeUnit`, `Data`, `MemBuffer`, `PropertySet`, `Settings`, `TraceCodeUnit`

All Known Subinterfaces:
  `DBTraceDataAdapter`, `DBTraceDefinedDataAdapter`

All Known Implementing Classes:
  `AbstractDBTraceDataComponent`, `AbstractDBTraceProgramViewListing.DBTraceProgramViewUndefinedData`, `DBTraceData`, `DBTraceDataArrayElementComponent`, `DBTraceDataCompositeFieldComponent`, `UndefinedDBTraceData`

public interface TraceData extends TraceCodeUnit, Data
A data unit in a `Trace`

- ## Field Summary

  ### Fields inherited from interface ghidra.program.model.listing.CodeUnit

  `COMMENT_PROPERTY, DEFINED_DATA_PROPERTY, EOL_COMMENT, INSTRUCTION_PROPERTY, MNEMONIC, PLATE_COMMENT, POST_COMMENT, PRE_COMMENT, REPEATABLE_COMMENT, SPACE_PROPERTY`

  ### Fields inherited from interface ghidra.docking.settings.Settings

  `EMPTY_STRING_ARRAY`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `TraceData`
  `getComponent(int index)`
  Returns the immediate n'th component or null if none exists.
  `TraceData`
  `getComponent(int[] componentPath)`
  Get a data item given the index path.
  `TraceData`
  `getComponentAt(int offset)`
  Return the first immediate child component that contains the byte at the given offset.
  `TraceData`
  `getComponentContaining(int offset)`
  Return the first immediate child component that contains the byte at the given offset.
  `TraceData`
  `getPrimitiveAt(int offset)`
  Returns the primitive component containing this offset (i.e., one that does not have sub-components).
  `TraceReference[]`
  `getValueReferences()`
  Get the references for the value.

  ### Methods inherited from interface ghidra.program.model.listing.CodeUnit

  `addMnemonicReference, addOperandReference, compareTo, contains, getAddress, getAddressString, getBytes, getBytesInCodeUnit, getComment, getComment, getCommentAsArray, getCommentAsArray, getExternalReference, getLabel, getLength, getMaxAddress, getMinAddress, getMnemonicString, getNumOperands, getPrimarySymbol, getReferenceIteratorTo, getScalar, getSymbols, removeExternalReference, removeMnemonicReference, removeOperandReference, setComment, setComment, setCommentAsArray, setCommentAsArray, setPrimaryMemoryReference, setRegisterReference, setStackReference`

  ### Methods inherited from interface ghidra.program.model.listing.Data

  `addValueReference, getBaseDataType, getComponentIndex, getComponentLevel, getComponentPath, getComponentPathName, getComponentsContaining, getDataType, getDefaultLabelPrefix, getDefaultValueRepresentation, getFieldName, getNumComponents, getParent, getParentOffset, getPathName, getRoot, getRootOffset, getValue, getValueClass, hasStringValue, isArray, isConstant, isDefined, isDynamic, isImmutableSettings, isPointer, isStructure, isUnion, isVolatile, isWritable, removeValueReference`

  ### Methods inherited from interface ghidra.program.model.mem.MemBuffer

  `getAddress, getBigInteger, getByte, getBytes, getInputStream, getInputStream, getInt, getLong, getMemory, getShort, getUnsignedByte, getUnsignedInt, getUnsignedShort, getVarLengthInt, getVarLengthUnsignedInt, isBigEndian, isInitializedMemory`

  ### Methods inherited from interface ghidra.program.model.util.PropertySet

  `getIntProperty, getObjectProperty, getStringProperty, getVoidProperty, hasProperty, propertyNames, removeProperty, setProperty, setProperty, setProperty, setProperty`

  ### Methods inherited from interface ghidra.docking.settings.Settings

  `clearAllSettings, clearSetting, getDefaultSettings, getLong, getNames, getString, getSuggestedValues, getValue, isChangeAllowed, isEmpty, setLong, setString, setValue`

  ### Methods inherited from interface ghidra.trace.model.listing.TraceCodeUnit

  `delete, getBounds, getBytes, getEndSnap, getLanguage, getLifespan, getMnemonicReferences, getOperandReferences, getPlatform, getPrimaryReference, getProgram, getProperty, getRange, getReferencesFrom, getStartSnap, getThread, getTrace, setEndSnap, setProperty, setTypedProperty`

- ## Method Details

  - ### getComponent

    TraceData getComponent(int index)
    Description copied from interface: `Data`
    Returns the immediate n'th component or null if none exists.
    Specified by:
      `getComponent` in interface `Data`
    Parameters:
      `index` - the index of the component to get.
    Returns:
      the component

  - ### getComponentAt

    TraceData getComponentAt(int offset)
    Description copied from interface: `Data`
    Return the first immediate child component that contains the byte at the given offset. It is important to note that with certain datatypes there may be more than one component containing the specified offset (see `Data.getComponentsContaining(int)`).
    Specified by:
      `getComponentAt` in interface `Data`
    Parameters:
      `offset` - the amount to add to this data items address to get the address of the requested data item.
    Returns:
      first data component containing offset or null

  - ### getComponentContaining

    TraceData getComponentContaining(int offset)
    Description copied from interface: `Data`
    Return the first immediate child component that contains the byte at the given offset. It is important to note that with certain datatypes there may be more than one component containing the specified offset (see `Data.getComponentsContaining(int)`).
    Specified by:
      `getComponentContaining` in interface `Data`
    Parameters:
      `offset` - the amount to add to this data items address to get the
    Returns:
      first data component containing offset or null address of the requested data item.

  - ### getComponent

    TraceData getComponent(int[] componentPath)
    Description copied from interface: `Data`
    Get a data item given the index path. Each integer in the array represents an index into the data item at that level.
    Specified by:
      `getComponent` in interface `Data`
    Parameters:
      `componentPath` - the array of indexes to use to find the requested data item.
    Returns:
      the component

  - ### getPrimitiveAt

    TraceData getPrimitiveAt(int offset)
    Description copied from interface: `Data`
    Returns the primitive component containing this offset (i.e., one that does not have sub-components). This is useful for data items which are made up of multiple layers of other data items. This method immediately goes to the lowest level data item. If the minimum offset of a component is specified, the only first component containing the offset will be considered (e.g., 0-element array).
    Specified by:
      `getPrimitiveAt` in interface `Data`
    Parameters:
      `offset` - the offset
    Returns:
      primitive component containing this offset

  - ### getValueReferences

    TraceReference[] getValueReferences()
    Description copied from interface: `Data`
    Get the references for the value.
    Specified by:
      `getValueReferences` in interface `Data`
    Returns:
      the references