Interface RowObjectFilterModel<ROW_OBJECT>
-
- All Superinterfaces:
RowObjectTableModel<ROW_OBJECT>
,javax.swing.table.TableModel
- All Known Implementing Classes:
AddressArrayTableModel
,AddressBasedTableModel
,AddressPreviewTableModel
,AddressSetTableModel
,AlignedObjectBasedPreviewTableModel
,CustomLoadingAddressTableModel
,EmptyThreadedTableModel
,GhidraProgramTableModel
,IncomingReferencesTableModel
,ProgramLocationPreviewTableModel
,ProjectDataTableModel
,ReferencesFromTableModel
,TableChooserTableModel
,TableModelWrapper
,ThreadedTableModel
,ThreadedTableModelStub
public interface RowObjectFilterModel<ROW_OBJECT> extends RowObjectTableModel<ROW_OBJECT>
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
SUB_FILTERING_DISABLED_PROPERTY
This property allows for the disabling of 'sub-filtering'.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
getModelIndex(ROW_OBJECT t)
Returns the model index of the given item.int
getModelRow(int viewRow)
TableFilter<ROW_OBJECT>
getTableFilter()
java.util.List<ROW_OBJECT>
getUnfilteredData()
int
getUnfilteredRowCount()
int
getViewIndex(ROW_OBJECT t)
Returns the view index of the given item.int
getViewRow(int modelRow)
boolean
isFiltered()
void
setTableFilter(TableFilter<ROW_OBJECT> filter)
-
Methods inherited from interface docking.widgets.table.RowObjectTableModel
fireTableDataChanged, getColumnValueForRow, getModelData, getName, getRowIndex, getRowObject
-
-
-
-
Field Detail
-
SUB_FILTERING_DISABLED_PROPERTY
static final java.lang.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:
- Constant Field Values
-
-
Method Detail
-
setTableFilter
void setTableFilter(TableFilter<ROW_OBJECT> filter)
-
getTableFilter
TableFilter<ROW_OBJECT> getTableFilter()
-
isFiltered
boolean isFiltered()
-
getUnfilteredRowCount
int getUnfilteredRowCount()
-
getUnfilteredData
java.util.List<ROW_OBJECT> getUnfilteredData()
-
getModelRow
int getModelRow(int viewRow)
-
getViewRow
int getViewRow(int modelRow)
-
getViewIndex
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 bygetModelIndex(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
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 bygetModelIndex(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
-
-