Interface RowObjectFilterModel<ROW_OBJECT>

All Superinterfaces:
RowObjectTableModel<ROW_OBJECT>, TableModel
All Known Implementing Classes:
AddressArrayTableModel, AddressBasedTableModel, AddressPreviewTableModel, AddressSetTableModel, AlignedObjectBasedPreviewTableModel, BSimApplyResultsTableModel, BSimExecutablesSummaryModel, BSimMatchResultsModel, BSimOverviewModel, CustomLoadingAddressTableModel, DbSmallTableModel, EmptyThreadedTableModel, FunctionXrefsTableModel, GhidraProgramTableModel, IncomingReferencesTableModel, MemoryMatchTableModel, ProgramLocationPreviewTableModel, ProjectDataTableModel, ReferencesFromTableModel, TableChooserTableModel, TableModelWrapper, ThreadedTableModel, ThreadedTableModelStub

public interface RowObjectFilterModel<ROW_OBJECT> extends RowObjectTableModel<ROW_OBJECT>
  • Field Details Link icon

    • SUB_FILTERING_DISABLED_PROPERTY Link icon

      static final String SUB_FILTERING_DISABLED_PROPERTY
      This property allows for the disabling of 'sub-filtering'. When enabled, which is the default, data from current filters will be reused when additional filter criteria is added to that current filter. For example,

      Given a table has a 'contains' filter with a text value of 'bob',

      then, if the users types an 'o' into the filter field, producing a value of 'bobo',

      then the data that matched 'bob' will be used as the data to filter for the new 'bobo' text.

      The downside of this is that we cache data for every completed filter. So, in a degenerate case, with a large dataset, with many incremental filtering steps, where each did not significantly reduce the previous set of data, the table could then consume a large amount of memory, roughly equal to allData.size() * numberOfFilterSteps

      Most tables do not have enough data for this to have a significant impact.

      See Also:
  • Method Details Link icon

    • setTableFilter Link icon

      void setTableFilter(TableFilter<ROW_OBJECT> filter)
    • getTableFilter Link icon

      TableFilter<ROW_OBJECT> getTableFilter()
    • isFiltered Link icon

      boolean isFiltered()
    • getUnfilteredRowCount Link icon

      int getUnfilteredRowCount()
    • getUnfilteredData Link icon

      List<ROW_OBJECT> getUnfilteredData()
    • getModelRow Link icon

      int getModelRow(int viewRow)
    • getViewRow Link icon

      int getViewRow(int modelRow)
    • getViewIndex Link icon

      int getViewIndex(ROW_OBJECT t)
      Returns the view index of the given item. When filtered, this is the index is the smaller, visible set of data; when unfiltered, this index is the same as that returned by getModelIndex(Object).

      This operation will be O(n) unless the implementation is sorted, in which case the operation is O(log n), as it uses a binary search.

      Parameters:
      t - the item
      Returns:
      the view index
    • getModelIndex Link icon

      int getModelIndex(ROW_OBJECT t)
      Returns the model index of the given item. When filtered, this is the index is the larger, set of data; when unfiltered, this index is the same as that returned by getModelIndex(Object).

      This operation will be O(n) unless the implementation is sorted, in which case the operation is O(log n), as it uses a binary search.

      Parameters:
      t - the item
      Returns:
      the model index