Package docking.widgets.table
Class DefaultEnumeratedColumnTableModel<C extends Enum<C> & DefaultEnumeratedColumnTableModel.EnumeratedTableColumn<C,R>,R>
java.lang.Object
javax.swing.table.AbstractTableModel
docking.widgets.table.AbstractGTableModel<R>
docking.widgets.table.AbstractSortedTableModel<R>
docking.widgets.table.GDynamicColumnTableModel<R,Void>
docking.widgets.table.DefaultEnumeratedColumnTableModel<C,R>
- Type Parameters:
C- the type of the enumR- the type of rows
- All Implemented Interfaces:
ConfigurableColumnTableModel,DynamicColumnTableModel<R>,EnumeratedColumnTableModel<R>,RowObjectTableModel<R>,SelectionStorage<R>,SortedTableModel,VariableColumnTableModel,Serializable,EventListener,ChangeListener,TableModel
- Direct Known Subclasses:
DefaultEnumeratedColumnProgramTableModel,RowWrappedEnumeratedColumnTableModel
public class DefaultEnumeratedColumnTableModel<C extends Enum<C> & DefaultEnumeratedColumnTableModel.EnumeratedTableColumn<C,R>,R>
extends GDynamicColumnTableModel<R,Void>
implements EnumeratedColumnTableModel<R>
A table model whose columns are described using an
Enum.
See the callers to this class' constructor to find example uses.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceAn interface on enums used to describe table columnsNested classes/interfaces inherited from interface docking.widgets.table.EnumeratedColumnTableModel
EnumeratedColumnTableModel.EditableDynamicTableColumn<ROW_TYPE,COLUMN_TYPE, DATA_SOURCE> -
Field Summary
Fields inherited from class docking.widgets.table.GDynamicColumnTableModel
columnSettings, serviceProvider, tableColumnsFields inherited from class docking.widgets.table.AbstractSortedTableModel
hasEverSortedFields inherited from class docking.widgets.table.AbstractGTableModel
isDisposed, WIDTH_UNDEFINEDFields inherited from class javax.swing.table.AbstractTableModel
listenerListFields inherited from interface docking.widgets.table.SortedTableModel
ASCENDING_ORDER, DESCENDING_ORDER -
Constructor Summary
ConstructorsConstructorDescriptionDefaultEnumeratedColumnTableModel(PluginTool tool, String name, Class<C> colType) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidaddAll(Collection<R> c) voidclear()protected TableColumnDescriptor<R> Get the default sort order of the tablevoiddeleteWith(Predicate<R> predicate) Returns the table's context for the data.Implementors should return the current data of the model.getName()Returns the name of this modelbooleanisCellEditable(int rowIndex, int columnIndex) voidnotifyUpdated(R row) notifyUpdatedWith(Predicate<R> predicate) voidsetValueAt(Object aValue, int rowIndex, int columnIndex) protected voidsort(List<R> data, TableSortingContext<R> sortingContext) A default sort method that uses theCollections.sort(List, Comparator)method for sorting.Methods inherited from class docking.widgets.table.GDynamicColumnTableModel
addTableColumn, addTableColumn, addTableColumns, addTableColumns, createSortComparator, createSortComparatorForColumn, dispose, 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, stateChangedMethods inherited from class docking.widgets.table.AbstractSortedTableModel
addSortListener, cleanupTableSortState, createSortingContext, fireTableChanged, getIndexForRowObject, getIndexForRowObject, getPendingSortState, getPrimarySortColumnIndex, getRowIndex, getRowObject, getTableSortState, getValueAt, initializeSorting, isSorted, isSortPending, notifyModelSorted, reSort, setDefaultTableSortState, setTableSortState, sortCompletedMethods inherited from class docking.widgets.table.AbstractGTableModel
getLastSelectedObjects, getRowCount, isDisposed, refresh, setLastSelectedObjectsMethods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListenerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface docking.widgets.table.RowObjectTableModel
fireTableDataChanged, getColumnValueForRow, getRowIndex, getRowObjectMethods inherited from interface javax.swing.table.TableModel
addTableModelListener, getColumnClass, getColumnCount, getColumnName, getRowCount, getValueAt, removeTableModelListener
-
Constructor Details
-
DefaultEnumeratedColumnTableModel
-
-
Method Details
-
getName
Description copied from interface:RowObjectTableModelReturns the name of this model- Specified by:
getNamein interfaceRowObjectTableModel<C extends Enum<C> & DefaultEnumeratedColumnTableModel.EnumeratedTableColumn<C,R>> - Returns:
- the name of this model
-
getModelData
Description copied from interface:RowObjectTableModelImplementors should return the current data of the model. For models that support filtering, this will be the filtered version of the data. Furthermore, the data should be the underlying data and not a copy, as this method will potentially sort the given data.For those subclasses using an array, you may use the
Arraysclass to create a list backed by the array (Arrays.asList(Object...)).- Specified by:
getModelDatain interfaceRowObjectTableModel<C extends Enum<C> & DefaultEnumeratedColumnTableModel.EnumeratedTableColumn<C,R>> - Returns:
- the model data.
-
copyModelData
-
createTableColumnDescriptor
- Specified by:
createTableColumnDescriptorin classGDynamicColumnTableModel<R,Void>
-
getDataSource
Description copied from class:GDynamicColumnTableModelReturns the table's context for the data.- Specified by:
getDataSourcein classGDynamicColumnTableModel<R,Void> - Returns:
- the table's context for the data.
-
defaultSortOrder
Get the default sort order of the table- Returns:
- the list of columns in order of descending priority
-
setValueAt
- Specified by:
setValueAtin interfaceTableModel- Overrides:
setValueAtin classAbstractTableModel
-
isCellEditable
public boolean isCellEditable(int rowIndex, int columnIndex) - Specified by:
isCellEditablein interfaceTableModel- Overrides:
isCellEditablein classAbstractTableModel
-
add
- Specified by:
addin interfaceEnumeratedColumnTableModel<C extends Enum<C> & DefaultEnumeratedColumnTableModel.EnumeratedTableColumn<C,R>>
-
addAll
- Specified by:
addAllin interfaceEnumeratedColumnTableModel<C extends Enum<C> & DefaultEnumeratedColumnTableModel.EnumeratedTableColumn<C,R>>
-
notifyUpdated
- Specified by:
notifyUpdatedin interfaceEnumeratedColumnTableModel<C extends Enum<C> & DefaultEnumeratedColumnTableModel.EnumeratedTableColumn<C,R>>
-
notifyUpdatedWith
- Specified by:
notifyUpdatedWithin interfaceEnumeratedColumnTableModel<C extends Enum<C> & DefaultEnumeratedColumnTableModel.EnumeratedTableColumn<C,R>>
-
delete
- Specified by:
deletein interfaceEnumeratedColumnTableModel<C extends Enum<C> & DefaultEnumeratedColumnTableModel.EnumeratedTableColumn<C,R>>
-
deleteWith
- Specified by:
deleteWithin interfaceEnumeratedColumnTableModel<C extends Enum<C> & DefaultEnumeratedColumnTableModel.EnumeratedTableColumn<C,R>>
-
findFirst
- Specified by:
findFirstin interfaceEnumeratedColumnTableModel<C extends Enum<C> & DefaultEnumeratedColumnTableModel.EnumeratedTableColumn<C,R>>
-
clear
public void clear()- Specified by:
clearin interfaceEnumeratedColumnTableModel<C extends Enum<C> & DefaultEnumeratedColumnTableModel.EnumeratedTableColumn<C,R>>
-
sort
Description copied from class:AbstractSortedTableModelA default sort method that uses theCollections.sort(List, Comparator)method for sorting. Implementors with reasonably sized data sets can rely on this method. For data sets that can become large, theThreadedTableModelis the recommended base class, as it handles loading/sorting/filtering in a threaded way.- Overrides:
sortin classAbstractSortedTableModel<R>- Parameters:
data- The data to be sortedsortingContext- The context required to sort (it contains the sorting columns, a comparator for sorting, etc...).
-