## org.apache.myfaces.custom.tree.model
Interface TreeModel

All Known Implementing Classes:
  DefaultTreeModel

public interface TreeModel

Version:
  $Revision: 209487 $ $Date: 2005-07-06 13:49:15 -0400 (Wed, 06 Jul 2005) $
Author:
  Oliver Rossmueller

Method Summary
`java.lang.Object` `getChild(java.lang.Object parent, int index)` Return the child of `parent` at index `index` in the parent's child array.
`int` `getChildCount(java.lang.Object parent)` Answer the number of children of `parent`.
`int` `getIndexOfChild(java.lang.Object parent, java.lang.Object child)` Return the index of child in parent.
`java.lang.Object` `getRoot()` Return the root of the tree.
`java.util.Collection` `getTreeModelListeners()` Answer the mutable collection of tree model listeners.
`boolean` `isLeaf(java.lang.Object node)` Answer `true` if `node` is a leaf.
`void` `valueForPathChanged(TreePath path, java.lang.Object newValue)` Called when the value for the item identified by `path` has changed to `newValue`.

Method Detail

### getRoot

    public java.lang.Object getRoot()

  Return the root of the tree.

  Returns:
    the root of the tree or null, it this tree has no nodes

### getChild

    public java.lang.Object getChild(java.lang.Object parent,
                                     int index)

  Return the child of `parent` at index `index` in the parent's child array.

  Parameters:
    `parent` - a node in the tree
  Returns:
    the child of `parent` at index `index`

### getChildCount

    public int getChildCount(java.lang.Object parent)

  Answer the number of children of `parent`.

  Parameters:
    `parent` - a node in the tree
  Returns:
    the number of children of the node `parent`

### isLeaf

    public boolean isLeaf(java.lang.Object node)

  Answer `true` if `node` is a leaf.

  Parameters:
    `node` - a node in the tree
  Returns:
    true if `node` is a leaf

### valueForPathChanged

    public void valueForPathChanged(TreePath path,
                                    java.lang.Object newValue)

  Called when the value for the item identified by `path` has changed to `newValue`. If `newValue` signifies a truly new value the model should post a `treeNodesChanged` event.

  Parameters:
    `path` - path to the node that has been altered
    `newValue` - the new value from the TreeCellEditor

### getIndexOfChild

    public int getIndexOfChild(java.lang.Object parent,
                               java.lang.Object child)

  Return the index of child in parent.

  Parameters:
    `parent` - a node in the tree
    `child` - the node we are interested in
  Returns:
    the index of the child in the parent, or -1 if either `child` or `parent` are `null`

### getTreeModelListeners

    public java.util.Collection getTreeModelListeners()

  Answer the mutable collection of tree model listeners.

  Returns:
    Collection