Package ghidra.util.table

# Class AddressBasedTableModel<ROW_TYPE>

java.lang.Object
javax.swing.table.AbstractTableModel
docking.widgets.table.AbstractGTableModel<T>
docking.widgets.table.AbstractSortedTableModel<ROW_TYPE>
docking.widgets.table.GDynamicColumnTableModel<ROW_OBJECT,DATA_SOURCE>
docking.widgets.table.threaded.ThreadedTableModel<ROW_TYPE,Program>
ghidra.util.table.GhidraProgramTableModel<ROW_TYPE>
ghidra.util.table.AddressBasedTableModel<ROW_TYPE>

All Implemented Interfaces:
  `ConfigurableColumnTableModel`, `DynamicColumnTableModel<ROW_TYPE>`, `RowObjectFilterModel<ROW_TYPE>`, `RowObjectTableModel<ROW_TYPE>`, `SelectionStorage<ROW_TYPE>`, `SortedTableModel`, `VariableColumnTableModel`, `ProgramTableModel`, `Serializable`, `EventListener`, `ChangeListener`, `TableModel`

Direct Known Subclasses:
  `AddressPreviewTableModel`, `AlignedObjectBasedPreviewTableModel`, `IncomingReferencesTableModel`, `ProgramLocationPreviewTableModel`, `ReferencesFromTableModel`, `TableChooserTableModel`

public abstract class AddressBasedTableModel<ROW_TYPE> extends GhidraProgramTableModel<ROW_TYPE>

See Also:
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class docking.widgets.table.threaded.ThreadedTableModel

  `ThreadedTableModel.IncrementalLoadJobListener`

- ## Field Summary

  ### Fields inherited from class ghidra.util.table.GhidraProgramTableModel

  `program`

  ### Fields inherited from class docking.widgets.table.threaded.ThreadedTableModel

  `allData, filteredData`

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

  `columnSettings, serviceProvider, tableColumns`

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

  `hasEverSorted`

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

  `isDisposed, WIDTH_UNDEFINED`

  ### Fields inherited from class javax.swing.table.AbstractTableModel

  `listenerList`

  ### Fields inherited from interface docking.widgets.table.RowObjectFilterModel

  `SUB_FILTERING_DISABLED_PROPERTY`

  ### Fields inherited from interface docking.widgets.table.SortedTableModel

  `ASCENDING_ORDER, DESCENDING_ORDER`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AddressBasedTableModel(String title, ServiceProvider serviceProvider, Program program, TaskMonitor monitor)`
  `AddressBasedTableModel(String title, ServiceProvider serviceProvider, Program program, TaskMonitor monitor, boolean loadIncrementally)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected TableColumnDescriptor<ROW_TYPE>`
  `createTableColumnDescriptor()`
  `abstract Address`
  `getAddress(int row)`
  `ProgramLocation`
  `getProgramLocation(int row, int column)`
  Returns a program location corresponding the given row and column.
  `ProgramSelection`
  `getProgramSelection(int[] rows)`
  Returns a program selection corresponding to the specified row index array.

  ### Methods inherited from class ghidra.util.table.GhidraProgramTableModel

  `getDataSource, getProgram, getProgramForRow, setProgram`

  ### Methods inherited from class docking.widgets.table.threaded.ThreadedTableModel

  `addInitialLoadListener, addObject, addThreadedTableModelListener, backgroundWorkCancelled, cancelAllUpdates, clearData, createIncrementalLoadJob, createSortComparator, dispose, doFilter, doLoad, fireTableChanged, getAddRemoveStrategy, getAllData, getModelData, getModelIndex, getModelRow, getName, getRowCount, getRowObjects, getTableFilter, getUnfilteredData, getUnfilteredIndexForRowObject, getUnfilteredRowCount, getUnfilteredRowObjectForIndex, getValueAt, getViewIndex, getViewRow, hasFilter, initializeSorting, isBusy, isFiltered, isLoadIncrementally, reFilter, reload, removeObject, removeThreadedTableModelListener, reSort, setIncrementalTaskMonitor, setModelState, setTableFilter, sort, updateNow, updateObject`

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

  `addTableColumn, addTableColumn, addTableColumns, addTableColumns, createSortComparatorForColumn, disposeDynamicColumnData, getColumn, getColumnClass, getColumnCount, getColumnDescription, getColumnDisplayName, getColumnIndex, getColumnIndex, getColumnName, getColumnSettings, getColumnSettingsDefinitions, getColumnValueForRow, getDefaultColumnCount, getHeaderRenderer, getMaxLines, getPreferredColumnWidth, getRenderer, getTableColumnDescriptor, getUniqueIdentifier, isDefaultColumn, isSortable, isVisibleByDefault, loadDiscoveredTableColumns, reloadColumns, removeTableColumn, removeTableColumns, setAllColumnSettings, stateChanged`

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

  `addSortListener, cleanupTableSortState, createSortingContext, getIndexForRowObject, getIndexForRowObject, getPendingSortState, getPrimarySortColumnIndex, getRowIndex, getRowObject, getTableSortState, isSorted, isSortPending, notifyModelSorted, setDefaultTableSortState, setTableSortState, sortCompleted`

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

  `getLastSelectedObjects, isDisposed, refresh, setLastSelectedObjects`

  ### Methods inherited from class javax.swing.table.AbstractTableModel

  `addTableModelListener, findColumn, fireTableCellUpdated, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAt`

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

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

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

  `fireTableDataChanged, getColumnValueForRow, getRowIndex, getRowObject`

  ### Methods inherited from interface javax.swing.table.TableModel

  `addTableModelListener, getColumnClass, getColumnCount, getColumnName, isCellEditable, removeTableModelListener, setValueAt`

- ## Constructor Details

  - ### AddressBasedTableModel

    public AddressBasedTableModel(String title, ServiceProvider serviceProvider, Program program, TaskMonitor monitor)

  - ### AddressBasedTableModel

    public AddressBasedTableModel(String title, ServiceProvider serviceProvider, Program program, TaskMonitor monitor, boolean loadIncrementally)

- ## Method Details

  - ### getAddress

    public abstract Address getAddress(int row)
    Overrides:
      `getAddress` in class `GhidraProgramTableModel<ROW_TYPE>`

  - ### createTableColumnDescriptor

    protected TableColumnDescriptor<ROW_TYPE> createTableColumnDescriptor()
    Specified by:
      `createTableColumnDescriptor` in class `GDynamicColumnTableModel<ROW_TYPE,Program>`

  - ### getProgramLocation

    public ProgramLocation getProgramLocation(int row, int column)
    Description copied from interface: `ProgramTableModel`
    Returns a program location corresponding the given row and column.

    Motivation: Given a table that has a column that contains addresses. If the user clicks on this column, then it would be nice to have the CodeBrowser navigate to this address.

    Parameters:
      `row` - the row
      `column` - the column in the model's index
    Returns:
      a program location corresponding the given row and column

  - ### getProgramSelection

    public ProgramSelection getProgramSelection(int[] rows)
    Description copied from interface: `ProgramTableModel`
    Returns a program selection corresponding to the specified row index array. This array will contain the currently selected rows.
    Parameters:
      `rows` - the currently selected rows.
    Returns:
      a program selection