Package ghidra.util.table

# Class AddressArrayTableModel

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<Address>
ghidra.util.table.AddressPreviewTableModel
ghidra.util.table.AddressArrayTableModel

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

public class AddressArrayTableModel extends AddressPreviewTableModel
This table model of addresses is used when you already have an Address array built.

If you need to compute the address array, then you should extend `AddressPreviewTableModel` and override the `doLoad(Accumulator<Address> accumulator, TaskMonitor monitor)` method which will be called in a dedicated thread.

Alternatively, you can create an instance of the `CustomLoadingAddressTableModel`, supplying your own loading via the `TableModelLoader`.

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
  `AddressArrayTableModel(String title, ServiceProvider serviceProvider, Program prog, Address[] addrs)`
  Constructor.
  `AddressArrayTableModel(String title, ServiceProvider serviceProvider, Program prog, Address[] addrs, TaskMonitor monitor)`
  Constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `doLoad(Accumulator<Address> accumulator, TaskMonitor monitor)`
  The basic method that all children must implement.
  `void`
  `setAddresses(Address[] addresses)`

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

  `getAddress, getProgramSelection, setSelectionSize`

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

  `createTableColumnDescriptor, getProgramLocation`

  ### 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, 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

  - ### AddressArrayTableModel

    public AddressArrayTableModel(String title, ServiceProvider serviceProvider, Program prog, Address[] addrs, TaskMonitor monitor)
    Constructor.
    Parameters:
      `title` - title of the query
      `serviceProvider` - from which to get services
      `prog` - program
      `addrs` - array of addresses in the model
      `monitor` - monitor that is used to show progress; may be null

  - ### AddressArrayTableModel

    public AddressArrayTableModel(String title, ServiceProvider serviceProvider, Program prog, Address[] addrs)
    Constructor.
    Parameters:
      `title` - title of the query
      `serviceProvider` - from which to get services
      `prog` - program
      `addrs` - array of addresses in the model

- ## Method Details

  - ### doLoad

    protected void doLoad(Accumulator<Address> accumulator, TaskMonitor monitor) throws CancelledException
    Description copied from class: `ThreadedTableModel`
    The basic method that all children must implement. This is where children load their data.
    Specified by:
      `doLoad` in class `ThreadedTableModel<Address,Program>`
    Parameters:
      `accumulator` - the datastructure into which you should incrementally place you table row data
      `monitor` - the task monitor to check for cancellations and to update progress
    Throws:
      `CancelledException` - if the task monitor has been cancelled and a call is made to `monitor.checkCancelled();`.

  - ### setAddresses

    public void setAddresses(Address[] addresses)