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.
  • 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 Enums. (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.