Package docking.widgets.table

# Class TableRowMapper<ROW_TYPE,EXPECTED_ROW_TYPE,DATA_SOURCE>

java.lang.Object
docking.widgets.table.TableRowMapper<ROW_TYPE,EXPECTED_ROW_TYPE,DATA_SOURCE>

Type Parameters:
  `ROW_TYPE` - The row type of a given table model
  `EXPECTED_ROW_TYPE` - The row type expected by dynamic columns.

All Implemented Interfaces:
  `ExtensionPoint`

Direct Known Subclasses:
  `ProgramLocationTableRowMapper`, `ReferenceEndpointToAddressTableRowMapper`, `ReferenceEndpointToFunctionTableRowMapper`, `ReferenceEndpointToProgramLocationTableRowMapper`, `ReferenceEndpointToReferenceTableRowMapper`

public abstract class TableRowMapper<ROW_TYPE,EXPECTED_ROW_TYPE,DATA_SOURCE> extends Object implements ExtensionPoint
NOTE: ALL TableRowMapper CLASSES MUST END IN "TableRowMapper". If not, the ClassSearcher will not find them. An interface that allows implementors to map an object of one type to another. This is useful for table models that have row types that are easily converted to other more generic types.

This interface is an ExtensionPoint so that once created, they will be ingested automatically by Ghidra. Once discovered, these mappers will be used to provide dynamic columns to to tables with row types that match `ROW_TYPE`.

See Also:
  - `DynamicTableColumn`
  - `TableUtils`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TableRowMapper()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `<COLUMN_TYPE>
  DynamicTableColumn<ROW_TYPE,COLUMN_TYPE,DATA_SOURCE>`
  `createMappedTableColumn(DynamicTableColumn<EXPECTED_ROW_TYPE,COLUMN_TYPE,DATA_SOURCE> destinationColumn)`
  Creates a table column that will create a table column that knows how to map the given ROW_TYPE to the type of the column passed in, the EXPECTED_ROW_TYPE.
  `final Class<EXPECTED_ROW_TYPE>`
  `getDestinationType()`
  `final Class<ROW_TYPE>`
  `getSourceType()`
  `abstract EXPECTED_ROW_TYPE`
  `map(ROW_TYPE rowObject, DATA_SOURCE data, ServiceProvider serviceProvider)`

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

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

- ## Constructor Details

  - ### TableRowMapper

    public TableRowMapper()

- ## Method Details

  - ### getSourceType

    public final Class<ROW_TYPE> getSourceType()

  - ### getDestinationType

    public final Class<EXPECTED_ROW_TYPE> getDestinationType()

  - ### createMappedTableColumn

    public <COLUMN_TYPE> DynamicTableColumn<ROW_TYPE,COLUMN_TYPE,DATA_SOURCE> createMappedTableColumn(DynamicTableColumn<EXPECTED_ROW_TYPE,COLUMN_TYPE,DATA_SOURCE> destinationColumn)
    Creates a table column that will create a table column that knows how to map the given ROW_TYPE to the type of the column passed in, the EXPECTED_ROW_TYPE.
    Type Parameters:
      `COLUMN_TYPE` - The column type of the given and created columns
    Parameters:
      `destinationColumn` - The existing column, which is based upon EXPECTED_ROW_TYPE, that we want to be able to use with the type we have, the ROW_TYPE.

  - ### map

    public abstract EXPECTED_ROW_TYPE map(ROW_TYPE rowObject, DATA_SOURCE data, ServiceProvider serviceProvider)