grendel.widgets
Interface TreeTableDataModel


public abstract interface TreeTableDataModel

The TreeTableDataModel interface is used to mediate between the underlying data store and the TreeTable. The interface supports two major mechanisms for retrieving tree data: as enumerations or by getting the first child/getting the next sibling of a node. The model only needs to implement one. After initially setting the data model for the TreeTable, the model should notify listeners of changes using the TreeTableModelListener interface.

See Also:
TreeTable, TreeTableModelListener

Method Summary
 void addTreeTableModelListener(TreeTableModelListener aListener)
          Adds a TreeTableModelListener.
 java.lang.Object getChild(java.lang.Object aNode)
          Retrieves the first child of the given node.
 java.util.Enumeration getChildren(java.lang.Object aNode)
          Retrieves the children of a given node.
 java.lang.Object getData(java.lang.Object aNode, java.lang.Object aID)
          Retrieves the data for the given node at the column with the given id.
 javax.swing.Icon getIcon(java.lang.Object aNode)
          Retrieves an icon representing the given node.
 java.lang.Object getNextSibling(java.lang.Object aNode)
          Retrieves the next sibling of the given node.
 javax.swing.Icon getOverlayIcon(java.lang.Object aNode)
          Retrieves an icon representing a modified state for a given node.
 java.lang.Object getRoot()
          Retrieves the root node of the tree.
 boolean isCollapsed(TreePath aPath)
          Indicates whether the given node is collapsed.
 boolean isLeaf(java.lang.Object aNode)
          Indicates whether the given node is a leaf.
 void removeTreeTableModelListener(TreeTableModelListener aListener)
          Removes a TreeTableModelListener.
 void setCollapsed(TreePath aPath, boolean aCollapsed)
          Method to set the collapsed state of a node.
 void setData(java.lang.Object aNode, java.lang.Object aID, java.lang.Object aValue)
          Method for setting the data for the given node at the column with the given id.
 boolean showRoot()
          Indicates whether the root node is visible.
 

Method Detail

showRoot

public boolean showRoot()
Indicates whether the root node is visible. An invisible root node should not have siblings.
Returns:
true if the root node should be displayed.

getChildren

public java.util.Enumeration getChildren(java.lang.Object aNode)
Retrieves the children of a given node. If aNode is null then the enumeration returned should represent the nodes at the root level. An implementation that supports this method does not need to implement the getRoot(), getChild() or getNextSibling() methods (they can return null).
Returns:
An enumeration of objects representing the children of the given node.
See Also:
getRoot(), getChild(java.lang.Object), getNextSibling(java.lang.Object)

getRoot

public java.lang.Object getRoot()
Retrieves the root node of the tree. An implementation that supports this method should implement the getChild() and getNextSibling() methods and does not need to implement the getChildren() method (it can return null).
Returns:
An object representing the root of the data model being displayed.
See Also:
getChildren(java.lang.Object), getChild(java.lang.Object), getNextSibling(java.lang.Object)

getChild

public java.lang.Object getChild(java.lang.Object aNode)
Retrieves the first child of the given node. Should return null if the node has no children. An implementation that supports this method should implement the getRoot() and getNextSibling() methods and does not need to implement the getChildren() method (it can return null).
Returns:
An object representing the first child of the given node.
See Also:
getChildren(java.lang.Object), getRoot(), getNextSibling(java.lang.Object)

getNextSibling

public java.lang.Object getNextSibling(java.lang.Object aNode)
Retrieves the next sibling of the given node. Should return null if the node has no next sibling. An implementation thatsupports this method should implement the getChild() and getNextSibling() methods and does not need to implement the getChildren() method (it can return null).
Returns:
An object representing the next sibing of the given node.
See Also:
getChildren(java.lang.Object), getRoot(), getChild(java.lang.Object)

isLeaf

public boolean isLeaf(java.lang.Object aNode)
Indicates whether the given node is a leaf. The values returned by isLeaf() and getChild() or getChildren() should be consistent.
Returns:
true if the given node is a leaf.

isCollapsed

public boolean isCollapsed(TreePath aPath)
Indicates whether the given node is collapsed.
Returns:
true if the given node is collapsed.

setCollapsed

public void setCollapsed(TreePath aPath,
                         boolean aCollapsed)
Method to set the collapsed state of a node.

getData

public java.lang.Object getData(java.lang.Object aNode,
                                java.lang.Object aID)
Retrieves the data for the given node at the column with the given id. The data will be passed on to the CellRenderer of the column for rendering.
Returns:
An Object representing the data at the given column for the given node.
See Also:
CellRenderer, Column

setData

public void setData(java.lang.Object aNode,
                    java.lang.Object aID,
                    java.lang.Object aValue)
Method for setting the data for the given node at the column with the given id. The data is retrieved from the CellEditor of the column.
See Also:
CellEditor, Column

getIcon

public javax.swing.Icon getIcon(java.lang.Object aNode)
Retrieves an icon representing the given node. The return value can be null if no icon is to be drawn.
Returns:
An Icon representing the given node.

getOverlayIcon

public javax.swing.Icon getOverlayIcon(java.lang.Object aNode)
Retrieves an icon representing a modified state for a given node. The return value can be null if no overlay icon is to be drawn. The overlay icon should be transparent and the same size as the returned icon.
Returns:
An Icon representing the given node state.
See Also:
getIcon(java.lang.Object)

addTreeTableModelListener

public void addTreeTableModelListener(TreeTableModelListener aListener)
Adds a TreeTableModelListener.

removeTreeTableModelListener

public void removeTreeTableModelListener(TreeTableModelListener aListener)
Removes a TreeTableModelListener.