Package org.zkoss.zul
Interface TreeNode<E>
-
- All Known Implementing Classes:
DefaultTreeNode
public interface TreeNode<E>Defines the requirements for a tree node object that can change -- by adding or removing child nodes, or by changing the contents of an application-specific data (setData(E)) stored in the node. It is designed to be used withDefaultTreeModel.- Since:
- 5.0.6
- Author:
- tomyeh
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidadd(TreeNode<E> child)Adds a child to this node at the end.java.lang.Objectclone()Clones the tree node.TreeNode<E>getChildAt(int childIndex)Returns the childTreeNodeat indexchildIndex.intgetChildCount()Returns the number of childrenTreeNodes this node contains.java.util.List<TreeNode<E>>getChildren()Return children of the receiverEgetData()Returns the application-specific data of this node.intgetIndex(TreeNode<E> node)Returns the index ofnodein this node's children.DefaultTreeModel<E>getModel()Returns the tree model it belongs to.TreeNode<E>getParent()Returns the parentTreeNodeof this node.voidinsert(TreeNode<E> child, int index)Adds child to this node at the given index.booleanisLeaf()Returns true if this node is a leaf.voidremove(int index)Removes the child at index from this node.voidremove(TreeNode<E> child)Removes the child from this node.voidsetData(E data)Sets the application-specific data associated with this node.voidsetModel(DefaultTreeModel<E> model)Sets the tree model it belongs to.
-
-
-
Method Detail
-
getModel
DefaultTreeModel<E> getModel()
Returns the tree model it belongs to.
-
setModel
void setModel(DefaultTreeModel<E> model)
Sets the tree model it belongs to. It can be called only if this node is a root. If a node has a parent, its model shall be the same as its parent.This method is invoked automatically if
DefaultTreeModel, so you don't have to invoke it.- Throws:
java.lang.IllegalArgumentException- if the model is null.java.lang.IllegalStateException- if the node is not a root.
-
getData
E getData()
Returns the application-specific data of this node.
-
setData
void setData(E data)
Sets the application-specific data associated with this node.
-
getChildren
java.util.List<TreeNode<E>> getChildren()
Return children of the receiver- Returns:
- children of the receiver. If the node is a leaf, null is returned.
-
getChildCount
int getChildCount()
Returns the number of childrenTreeNodes this node contains.
-
getIndex
int getIndex(TreeNode<E> node)
Returns the index ofnodein this node's children. If this node does not containnode, -1 will be returned.
-
isLeaf
boolean isLeaf()
Returns true if this node is a leaf. Notice that not all non-leaf nodes have children. In file-system terminology, a leaf node is a file, while a non-leaf node is a folder.
-
insert
void insert(TreeNode<E> child, int index)
Adds child to this node at the given index.- Throws:
java.lang.UnsupportedOperationException- if the tree structure is not mutable, or this node does not allow childrenjava.lang.IndexOutOfBoundsException- ifindexis out of boundsjava.lang.IllegalArgumentException- ifchildis an ancestor of this nodejava.lang.NullPointerException- ifchildis null
-
add
void add(TreeNode<E> child)
Adds a child to this node at the end.- Throws:
java.lang.UnsupportedOperationException- if the tree structure is not mutable, or this node does not allow childrenjava.lang.IllegalArgumentException- ifchildis an ancestor of this nodejava.lang.NullPointerException- ifchildis null
-
remove
void remove(int index)
Removes the child at index from this node.- Throws:
java.lang.UnsupportedOperationException- if the tree structure is not mutable, or this node does not allow childrenjava.lang.IndexOutOfBoundsException- ifindexis out of bounds
-
remove
void remove(TreeNode<E> child)
Removes the child from this node.- Throws:
java.lang.UnsupportedOperationException- if the tree structure is not mutable or this node does not allow childrenjava.lang.IllegalArgumentException- ifchildis not a child of this node
-
clone
java.lang.Object clone()
Clones the tree node.Notes:
- It is a deep clone, i.e., all descendant are cloned.
- If the implementation supports this method, it shall implement the Cloneable interface too.
- If not supported, the implementation shall throw CloneNotSupportedException.
-
-