Package ghidra.util.table.field

# Class AbstractReferenceBytesTableColumn

java.lang.Object
docking.widgets.table.AbstractDynamicTableColumn<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[],Program>
docking.widgets.table.DynamicTableColumnExtensionPoint<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[],Program>
ghidra.util.table.field.ProgramLocationTableColumnExtensionPoint<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[]>
ghidra.util.table.field.AbstractReferenceBytesTableColumn

All Implemented Interfaces:
  `DynamicTableColumn<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[],Program>`, `ExtensionPoint`, `ProgramBasedDynamicTableColumn<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[]>`, `ProgramLocationTableColumn<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[]>`

Direct Known Subclasses:
  `ReferenceFromBytesTableColumn`, `ReferenceToBytesTableColumn`

public abstract class AbstractReferenceBytesTableColumn extends ProgramLocationTableColumnExtensionPoint<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[]>
This table field displays the bytes of the code unit at the ToAddress for the reference or possible reference address pair associated with a row in the table.

- ## Field Summary

  ### Fields inherited from class docking.widgets.table.AbstractDynamicTableColumn

  `FLOATING_POINT_PRECISION_SETTING, FLOATING_POINT_SETTINGS_DEFINITIONS, INTEGER_RADIX_SETTING, INTEGER_SETTINGS_DEFINITIONS, INTEGER_SIGNEDNESS_MODE_SETTING, NO_SETTINGS_DEFINITIONS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractReferenceBytesTableColumn()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected abstract Address`
  `getAddress(ghidra.app.plugin.core.analysis.ReferenceAddressPair pair)`
  `String`
  `getColumnDisplayName(Settings settings)`
  Determines the column heading that will be displayed.
  `protected abstract String`
  `getColumnNamePrefix()`
  `GColumnRenderer<Byte[]>`
  `getColumnRenderer()`
  Returns the optional cell renderer for this column; null if no renderer is used.
  `int`
  `getMaxLines(Settings settings)`
  Gets the maximum number of text display lines needed for any given cell with the specified settings.
  `ProgramLocation`
  `getProgramLocation(ghidra.app.plugin.core.analysis.ReferenceAddressPair rowObject, Settings settings, Program program, ServiceProvider serviceProvider)`
  Determines an appropriate program location associated with this field for the indicated row object.
  `SettingsDefinition[]`
  `getSettingsDefinitions()`
  Returns a list of settings definitions for this field.
  `Byte[]`
  `getValue(ghidra.app.plugin.core.analysis.ReferenceAddressPair rowObject, Settings settings, Program pgm, ServiceProvider serviceProvider)`
  Creates an object that is appropriate for this field (table column) and for the object that is associated with this row of the table.

  ### Methods inherited from class docking.widgets.table.AbstractDynamicTableColumn

  `equals, getColumnClass, getColumnDescription, getColumnName, getColumnPreferredWidth, getComparator, getComparator, getHeaderRenderer, getSupportedRowType, getUniqueIdentifier, hashCode, toString`

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

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface docking.widgets.table.DynamicTableColumn

  `getColumnClass, getColumnDescription, getColumnName, getColumnPreferredWidth, getComparator, getHeaderRenderer, getSupportedRowType, getUniqueIdentifier`

- ## Constructor Details

  - ### AbstractReferenceBytesTableColumn

    public AbstractReferenceBytesTableColumn()

- ## Method Details

  - ### getAddress

    protected abstract Address getAddress(ghidra.app.plugin.core.analysis.ReferenceAddressPair pair)

  - ### getColumnNamePrefix

    protected abstract String getColumnNamePrefix()

  - ### getValue

    public Byte[] getValue(ghidra.app.plugin.core.analysis.ReferenceAddressPair rowObject, Settings settings, Program pgm, ServiceProvider serviceProvider) throws IllegalArgumentException
    Description copied from interface: `DynamicTableColumn`
    Creates an object that is appropriate for this field (table column) and for the object that is associated with this row of the table.
    Specified by:
      `getValue` in interface `DynamicTableColumn<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[],Program>`
    Specified by:
      `getValue` in class `AbstractDynamicTableColumn<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[],Program>`
    Parameters:
      `rowObject` - the object associated with the row in the table.
      `settings` - field settings
      `pgm` - the expected data object, as defined by the DATA_SOURCE type
      `serviceProvider` - the `ServiceProvider` associated with the table.
    Returns:
      the object for the model to display in the table cell.
    Throws:
      `IllegalArgumentException` - if the rowObject is not one supported by this class.

  - ### getProgramLocation

    public ProgramLocation getProgramLocation(ghidra.app.plugin.core.analysis.ReferenceAddressPair rowObject, Settings settings, Program program, ServiceProvider serviceProvider)
    Description copied from interface: `ProgramLocationTableColumn`
    Determines an appropriate program location associated with this field for the indicated row object. The most probable use is for navigating from the field.
    Parameters:
      `rowObject` - the object associated with the table row.
      `settings` - field settings
      `program` - the program associated with the table.
      `serviceProvider` - the plugin tool associated with the table.
    Returns:
      the address associated with the field.

  - ### getColumnDisplayName

    public String getColumnDisplayName(Settings settings)
    Description copied from interface: `DynamicTableColumn`
    Determines the column heading that will be displayed.
    Specified by:
      `getColumnDisplayName` in interface `DynamicTableColumn<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[],Program>`
    Overrides:
      `getColumnDisplayName` in class `AbstractDynamicTableColumn<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[],Program>`
    Parameters:
      `settings` - the settings
    Returns:
      the field name to display as the column heading.

  - ### getMaxLines

    public int getMaxLines(Settings settings)
    Description copied from interface: `DynamicTableColumn`
    Gets the maximum number of text display lines needed for any given cell with the specified settings.
    Specified by:
      `getMaxLines` in interface `DynamicTableColumn<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[],Program>`
    Overrides:
      `getMaxLines` in class `AbstractDynamicTableColumn<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[],Program>`
    Parameters:
      `settings` - field settings
    Returns:
      maximum number of lines needed

  - ### getColumnRenderer

    public GColumnRenderer<Byte[]> getColumnRenderer()
    Description copied from interface: `DynamicTableColumn`
    Returns the optional cell renderer for this column; null if no renderer is used.

    This method allows columns to define custom rendering. The interface returned here ensures that the text used for filtering matches what the users sees (via the `GColumnRenderer.getFilterString(Object, Settings)` method).

    Note: some types should not make use of the aforementioned filter string. These types include the `Number` wrapper types, `Date` and `Enum`s. (This is because the filtering system works naturally with these types.) See `GColumnRenderer`.

    Specified by:
      `getColumnRenderer` in interface `DynamicTableColumn<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[],Program>`
    Overrides:
      `getColumnRenderer` in class `AbstractDynamicTableColumn<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[],Program>`
    Returns:
      the renderer

  - ### getSettingsDefinitions

    public SettingsDefinition[] getSettingsDefinitions()
    Description copied from interface: `DynamicTableColumn`
    Returns a list of settings definitions for this field.
    Specified by:
      `getSettingsDefinitions` in interface `DynamicTableColumn<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[],Program>`
    Overrides:
      `getSettingsDefinitions` in class `AbstractDynamicTableColumn<ghidra.app.plugin.core.analysis.ReferenceAddressPair,Byte[],Program>`
    Returns:
      list of settings definitions for this field.