Package ghidra.util.table
Class ProgramLocationTableRowMapper<ROW_TYPE,EXPECTED_ROW_TYPE>
java.lang.Object
docking.widgets.table.TableRowMapper<ROW_TYPE,EXPECTED_ROW_TYPE,Program>
ghidra.util.table.ProgramLocationTableRowMapper<ROW_TYPE,EXPECTED_ROW_TYPE>
- Type Parameters:
ROW_TYPE
- The row type of a given table modelEXPECTED_ROW_TYPE
- The row type expected by dynamic columns (e.g., ProgramLocations, Addresses, etc).
- All Implemented Interfaces:
ExtensionPoint
- Direct Known Subclasses:
AddressableRowObjectToAddressTableRowMapper
,AddressableRowObjectToFunctionTableRowMapper
,AddressableRowObjectToProgramLocationTableRowMapper
,AddressTableToAddressTableRowMapper
,AddressTableToProgramLocationTableRowMapper
,AddressToFunctionContainingTableRowMapper
,AddressToProgramLocationTableRowMapper
,AddressToSymbolTableRowMapper
,MemoryMatchToAddressTableRowMapper
,MemoryMatchToProgramLocationTableRowMapper
,MemoryMatchtToFunctionTableRowMapper
,ProgramLocationToAddressTableRowMapper
,ProgramLocationToFunctionContainingTableRowMapper
,ProgramLocationToSymbolTableRowMapper
,ReferenceToReferenceAddressPairTableRowMapper
,SymbolToAddressTableRowMapper
,SymbolToProgramLocationTableRowMapper
public abstract class ProgramLocationTableRowMapper<ROW_TYPE,EXPECTED_ROW_TYPE>
extends TableRowMapper<ROW_TYPE,EXPECTED_ROW_TYPE,Program>
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.
For example, the Bookmarks table model's data is based upon Bookmark objects. Furthermore,
those objects are easily converted to ProgramLocations and Addresses. By creating a mapper
for the these types, the table model can now show dynamic columns that work on ProgramLocations
and Addresses.
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
.
This column is an extension of TableRowMapper
that has knowledge of
ProgramLocationTableColumn
s, which means that it knows how to generate
ProgramLocation
s. This is the preferred mapper to use with tables that work on program
data, as it means that the column works with navigation.
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<COLUMN_TYPE>
DynamicTableColumn<ROW_TYPE, COLUMN_TYPE, Program> createMappedTableColumn
(DynamicTableColumn<EXPECTED_ROW_TYPE, COLUMN_TYPE, Program> 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.Methods inherited from class docking.widgets.table.TableRowMapper
getDestinationType, getSourceType, map
-
Constructor Details
-
ProgramLocationTableRowMapper
public ProgramLocationTableRowMapper()
-
-
Method Details
-
createMappedTableColumn
public <COLUMN_TYPE> DynamicTableColumn<ROW_TYPE,COLUMN_TYPE, createMappedTableColumnProgram> (DynamicTableColumn<EXPECTED_ROW_TYPE, COLUMN_TYPE, Program> 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.- Overrides:
createMappedTableColumn
in classTableRowMapper<ROW_TYPE,
EXPECTED_ROW_TYPE, Program> - 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.
-