Package docking.widgets.table
Class TableModelWrapper<ROW_OBJECT>
- java.lang.Object
-
- docking.widgets.table.TableModelWrapper<ROW_OBJECT>
-
- Type Parameters:
ROW_OBJECT- the row object type
- All Implemented Interfaces:
RowObjectFilterModel<ROW_OBJECT>,RowObjectTableModel<ROW_OBJECT>,SelectionStorage<ROW_OBJECT>,javax.swing.table.TableModel
public class TableModelWrapper<ROW_OBJECT> extends java.lang.Object implements RowObjectFilterModel<ROW_OBJECT>, SelectionStorage<ROW_OBJECT>
A wrapper that will take a table model and decorate it with filtering capability. This is only needed when the given model does not have filtering.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<java.lang.Integer>filteredIndexList-
Fields inherited from interface docking.widgets.table.RowObjectFilterModel
SUB_FILTERING_DISABLED_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description TableModelWrapper(RowObjectTableModel<ROW_OBJECT> wrappedModel)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddTableModelListener(javax.swing.event.TableModelListener l)voidfireTableDataChanged()Sends an event to all listeners that all the data inside of this model may have changed.voidfireTableDataChanged(javax.swing.event.TableModelEvent event)java.lang.Class<?>getColumnClass(int columnIndex)intgetColumnCount()java.lang.StringgetColumnName(int columnIndex)java.lang.ObjectgetColumnValueForRow(ROW_OBJECT t, int columnIndex)Implementors are expected to return a value at the given column index for the specified row object.java.util.List<ROW_OBJECT>getLastSelectedObjects()java.util.List<ROW_OBJECT>getModelData()Implementors should return the current data of the model.intgetModelIndex(ROW_OBJECT t)intgetModelRow(int viewRow)java.lang.StringgetName()Returns the name of this modelintgetRowCount()intgetRowIndex(ROW_OBJECT t)Returns the row number for the given object.ROW_OBJECTgetRowObject(int viewRow)Returns the row object for the given row.TableFilter<ROW_OBJECT>getTableFilter()java.util.List<ROW_OBJECT>getUnfilteredData()intgetUnfilteredRowCount()java.lang.ObjectgetValueAt(int rowIndex, int columnIndex)intgetViewIndex(ROW_OBJECT t)intgetViewRow(int modelRow)javax.swing.table.TableModelgetWrappedModel()booleanisCellEditable(int rowIndex, int columnIndex)booleanisFiltered()voidremoveTableModelListener(javax.swing.event.TableModelListener l)voidsetLastSelectedObjects(java.util.List<ROW_OBJECT> lastSelectedObjects)voidsetTableFilter(TableFilter<ROW_OBJECT> tableFilter)voidsetValueAt(java.lang.Object value, int rowIndex, int columnIndex)voidwrappedModelChangedFromTableChangedEvent()
-
-
-
Constructor Detail
-
TableModelWrapper
public TableModelWrapper(RowObjectTableModel<ROW_OBJECT> wrappedModel)
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:RowObjectTableModelReturns the name of this model- Specified by:
getNamein interfaceRowObjectTableModel<ROW_OBJECT>- Returns:
- the name of this model
-
getLastSelectedObjects
public java.util.List<ROW_OBJECT> getLastSelectedObjects()
- Specified by:
getLastSelectedObjectsin interfaceSelectionStorage<ROW_OBJECT>
-
setLastSelectedObjects
public void setLastSelectedObjects(java.util.List<ROW_OBJECT> lastSelectedObjects)
- Specified by:
setLastSelectedObjectsin interfaceSelectionStorage<ROW_OBJECT>
-
setTableFilter
public void setTableFilter(TableFilter<ROW_OBJECT> tableFilter)
- Specified by:
setTableFilterin interfaceRowObjectFilterModel<ROW_OBJECT>
-
getTableFilter
public TableFilter<ROW_OBJECT> getTableFilter()
- Specified by:
getTableFilterin interfaceRowObjectFilterModel<ROW_OBJECT>
-
getModelRow
public int getModelRow(int viewRow)
- Specified by:
getModelRowin interfaceRowObjectFilterModel<ROW_OBJECT>
-
getViewRow
public int getViewRow(int modelRow)
- Specified by:
getViewRowin interfaceRowObjectFilterModel<ROW_OBJECT>
-
wrappedModelChangedFromTableChangedEvent
public void wrappedModelChangedFromTableChangedEvent()
-
fireTableDataChanged
public void fireTableDataChanged(javax.swing.event.TableModelEvent event)
-
fireTableDataChanged
public void fireTableDataChanged()
Description copied from interface:RowObjectTableModelSends an event to all listeners that all the data inside of this model may have changed.- Specified by:
fireTableDataChangedin interfaceRowObjectTableModel<ROW_OBJECT>
-
isFiltered
public boolean isFiltered()
- Specified by:
isFilteredin interfaceRowObjectFilterModel<ROW_OBJECT>
-
addTableModelListener
public void addTableModelListener(javax.swing.event.TableModelListener l)
- Specified by:
addTableModelListenerin interfacejavax.swing.table.TableModel
-
removeTableModelListener
public void removeTableModelListener(javax.swing.event.TableModelListener l)
- Specified by:
removeTableModelListenerin interfacejavax.swing.table.TableModel
-
getColumnClass
public java.lang.Class<?> getColumnClass(int columnIndex)
- Specified by:
getColumnClassin interfacejavax.swing.table.TableModel
-
getColumnCount
public int getColumnCount()
- Specified by:
getColumnCountin interfacejavax.swing.table.TableModel
-
getColumnName
public java.lang.String getColumnName(int columnIndex)
- Specified by:
getColumnNamein interfacejavax.swing.table.TableModel
-
getRowCount
public int getRowCount()
- Specified by:
getRowCountin interfacejavax.swing.table.TableModel
-
getUnfilteredRowCount
public int getUnfilteredRowCount()
- Specified by:
getUnfilteredRowCountin interfaceRowObjectFilterModel<ROW_OBJECT>
-
getUnfilteredData
public java.util.List<ROW_OBJECT> getUnfilteredData()
- Specified by:
getUnfilteredDatain interfaceRowObjectFilterModel<ROW_OBJECT>
-
getModelData
public java.util.List<ROW_OBJECT> 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 Arrays class to create a list backed by the array ({@link Arrays#asList(Object...)).
- Specified by:
getModelDatain interfaceRowObjectTableModel<ROW_OBJECT>- Returns:
- the model data.
-
getModelIndex
public int getModelIndex(ROW_OBJECT t)
- Specified by:
getModelIndexin interfaceRowObjectFilterModel<ROW_OBJECT>
-
getViewIndex
public int getViewIndex(ROW_OBJECT t)
- Specified by:
getViewIndexin interfaceRowObjectFilterModel<ROW_OBJECT>
-
getRowIndex
public int getRowIndex(ROW_OBJECT t)
Description copied from interface:RowObjectTableModelReturns the row number for the given object.Note: the index returned is always the 'view' index. For non-filtering table models, the 'view' and the 'model' index are the same. However, for filtering table models, the 'view' may be a subset of the 'model' index. Thus, it is possible, if this model is a filtering model, that the given t may not have a row value for the current state of the model (i.e., when the model is filtered in the view. If you really need to get the model index in such a situation, see
RowObjectFilterModel.- Specified by:
getRowIndexin interfaceRowObjectTableModel<ROW_OBJECT>- Parameters:
t- the object- Returns:
- the row number
-
getRowObject
public ROW_OBJECT getRowObject(int viewRow)
Description copied from interface:RowObjectTableModelReturns the row object for the given row. This is the row in the UI. For models that know how to filter, the model row value will not match the view row value. For non-filtering models the view and model rows will always be the same.- Specified by:
getRowObjectin interfaceRowObjectTableModel<ROW_OBJECT>- Parameters:
viewRow- the row for which to return a row object.
-
getColumnValueForRow
public java.lang.Object getColumnValueForRow(ROW_OBJECT t, int columnIndex)
Description copied from interface:RowObjectTableModelImplementors are expected to return a value at the given column index for the specified row object. This is essentially a more specific version of theTableModel.getValueAt(int, int)that allows this class's comparator objects to work.- Specified by:
getColumnValueForRowin interfaceRowObjectTableModel<ROW_OBJECT>- Parameters:
t- The object that represents a given row.columnIndex- The column index for which a value is requested.- Returns:
- a value at the given column index for the specified row object.
-
getValueAt
public java.lang.Object getValueAt(int rowIndex, int columnIndex)- Specified by:
getValueAtin interfacejavax.swing.table.TableModel
-
isCellEditable
public boolean isCellEditable(int rowIndex, int columnIndex)- Specified by:
isCellEditablein interfacejavax.swing.table.TableModel
-
setValueAt
public void setValueAt(java.lang.Object value, int rowIndex, int columnIndex)- Specified by:
setValueAtin interfacejavax.swing.table.TableModel
-
getWrappedModel
public javax.swing.table.TableModel getWrappedModel()
-
-