Package org.apache.jorphan.gui
Class AbstractTreeTableModel
- java.lang.Object
-
- javax.swing.table.AbstractTableModel
-
- javax.swing.table.DefaultTableModel
-
- org.apache.jorphan.gui.AbstractTreeTableModel
-
- All Implemented Interfaces:
Serializable,TableModel,TreeTableModel
- Direct Known Subclasses:
DefaultTreeTableModel
public abstract class AbstractTreeTableModel extends DefaultTableModel implements TreeTableModel
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected List<Class<?>>classesprotected List<String>headersprotected EventListenerListlistenerprotected List<Object>objectsprotected List<Functor>readFunctorsprotected TreeNoderootNodeprotected List<Functor>writeFunctors-
Fields inherited from class javax.swing.table.DefaultTableModel
columnIdentifiers, dataVector
-
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
-
-
Constructor Summary
Constructors Constructor Description AbstractTreeTableModel(String[] headers, Functor[] readFunctors, Functor[] writeFunctors, Class<?>[] editorClasses)AbstractTreeTableModel(TreeNode root)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddTableModelListener(TableModelListener l)voidclearData()voidfireTreeNodesChanged(TreeNode source, Object[] path, int[] indexes, Object[] children)ObjectgetChild(Object parent, int index)intgetChildCount(Object parent)Class<?>getColumnClass(int arg0)intgetColumnCount()The implementation is exactly the same as ObjectTableModel.getColumnCount.StringgetColumnName(int columnIndex)ObjectgetRootNode()The root node for the TreeTableintgetRowCount()The implementation is exactly the same as ObjectTableModel.getRowCount.ObjectgetValueAt(int rowIndex, int columnIndex)Subclasses need to implement the logic for the method and return the value at the specific cell.ObjectgetValueAt(Object node, int col)The method is similar to getValueAt(int,int).booleanisCellEditable(int rowIndex, int columnIndex)By default the abstract class returns true.booleanisCellEditable(Object node, int col)the method is similar to isCellEditable(int,int).booleanisLeaf(Object node)the implementation checks if the Object is a treenode.voidnodeStructureChanged(TreeNode node)voidremoveTableModelListener(TableModelListener l)voidsetValueAt(Object aValue, int rowIndex, int columnIndex)voidsetValueAt(Object val, Object node, int column)the method is similar to isCellEditable(int,int).-
Methods inherited from class javax.swing.table.DefaultTableModel
addColumn, addColumn, addColumn, addRow, addRow, convertToVector, convertToVector, getDataVector, insertRow, insertRow, moveRow, newDataAvailable, newRowsAdded, removeRow, rowsRemoved, setColumnCount, setColumnIdentifiers, setColumnIdentifiers, setDataVector, setDataVector, setNumRows, setRowCount
-
Methods inherited from class javax.swing.table.AbstractTableModel
findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners
-
-
-
-
Field Detail
-
rootNode
protected final TreeNode rootNode
-
listener
protected final EventListenerList listener
-
-
Method Detail
-
getRootNode
public Object getRootNode()
The root node for the TreeTable- Returns:
- the root node
-
getValueAt
public Object getValueAt(Object node, int col)
The method is similar to getValueAt(int,int). Instead of int, the row is an object.- Specified by:
getValueAtin interfaceTreeTableModel- Parameters:
node- the node which value is to be fetchedcol- the column of the node- Returns:
- the value at the column
-
isCellEditable
public boolean isCellEditable(Object node, int col)
the method is similar to isCellEditable(int,int). Instead of int, the row is an object.- Specified by:
isCellEditablein interfaceTreeTableModel- Parameters:
node- the node which value is to be fetchedcol- the column of the node- Returns:
trueif cell is editable
-
setValueAt
public void setValueAt(Object val, Object node, int column)
the method is similar to isCellEditable(int,int). Instead of int, the row is an object.- Specified by:
setValueAtin interfaceTreeTableModel- Parameters:
val- the value to be setnode- the node which value is to be setcolumn- the column of the node
-
getColumnCount
public int getColumnCount()
The implementation is exactly the same as ObjectTableModel.getColumnCount.- Specified by:
getColumnCountin interfaceTableModel- Overrides:
getColumnCountin classDefaultTableModel
-
getRowCount
public int getRowCount()
The implementation is exactly the same as ObjectTableModel.getRowCount.- Specified by:
getRowCountin interfaceTableModel- Overrides:
getRowCountin classDefaultTableModel
-
isCellEditable
public boolean isCellEditable(int rowIndex, int columnIndex)By default the abstract class returns true. It is up to subclasses to override the implementation.- Specified by:
isCellEditablein interfaceTableModel- Overrides:
isCellEditablein classDefaultTableModel
-
getColumnClass
public Class<?> getColumnClass(int arg0)
- Specified by:
getColumnClassin interfaceTableModel- Overrides:
getColumnClassin classAbstractTableModel
-
getValueAt
public Object getValueAt(int rowIndex, int columnIndex)
Subclasses need to implement the logic for the method and return the value at the specific cell.- Specified by:
getValueAtin interfaceTableModel- Overrides:
getValueAtin classDefaultTableModel
-
setValueAt
public void setValueAt(Object aValue, int rowIndex, int columnIndex)
- Specified by:
setValueAtin interfaceTableModel- Overrides:
setValueAtin classDefaultTableModel
-
getColumnName
public String getColumnName(int columnIndex)
- Specified by:
getColumnNamein interfaceTableModel- Overrides:
getColumnNamein classDefaultTableModel
-
getChildCount
public int getChildCount(Object parent)
-
isLeaf
public boolean isLeaf(Object node)
the implementation checks if the Object is a treenode. If it is, it returnsisLeaf(), otherwise it returnsfalse.- Parameters:
node- object to be checked forisLeaf()- Returns:
trueif object is a leaf node,falseotherwise
-
addTableModelListener
public void addTableModelListener(TableModelListener l)
- Specified by:
addTableModelListenerin interfaceTableModel- Overrides:
addTableModelListenerin classAbstractTableModel
-
removeTableModelListener
public void removeTableModelListener(TableModelListener l)
- Specified by:
removeTableModelListenerin interfaceTableModel- Overrides:
removeTableModelListenerin classAbstractTableModel
-
nodeStructureChanged
public void nodeStructureChanged(TreeNode node)
-
fireTreeNodesChanged
public void fireTreeNodesChanged(TreeNode source, Object[] path, int[] indexes, Object[] children)
-
clearData
public void clearData()
-
-