org.jdesktop.swingx.treetable
Class AbstractMutableTreeTableNode

java.lang.Object
  extended by org.jdesktop.swingx.treetable.AbstractMutableTreeTableNode
All Implemented Interfaces:
TreeNode, MutableTreeTableNode, TreeTableNode
Direct Known Subclasses:
DefaultMutableTreeTableNode

public abstract class AbstractMutableTreeTableNode
extends Object
implements MutableTreeTableNode

AbstractMutableTreeTableNode provides an implementation of most of the MutableTreeTableNode features.


Field Summary
protected  boolean allowsChildren
           
protected  Vector<MutableTreeTableNode> children
          array of children, may be null if this node has no children
protected  MutableTreeTableNode parent
          this node's parent, or null if this node has no parent
protected  Object userObject
          optional user object
 
Constructor Summary
AbstractMutableTreeTableNode()
           
AbstractMutableTreeTableNode(Object userObject)
           
AbstractMutableTreeTableNode(Object userObject, boolean allowsChildren)
           
 
Method Summary
 void add(MutableTreeTableNode child)
           
 Enumeration<? extends MutableTreeTableNode> children()
          Returns the children of the receiver as an Enumeration.
 boolean getAllowsChildren()
          Returns true if the receiver allows children.
 TreeTableNode getChildAt(int childIndex)
          Returns the child TreeNode at index childIndex.
 int getChildCount()
          Returns the number of children TreeNodes the receiver contains.
 int getIndex(TreeNode node)
          Returns the index of node in the receivers children.
 TreeTableNode getParent()
          Returns the parent TreeNode of the receiver.
 Object getUserObject()
          Returns this node's user object.
 void insert(MutableTreeTableNode child, int index)
          Adds the child to this node at the specified index.
 boolean isEditable(int column)
          Determines whether the specified column is editable.
 boolean isLeaf()
          Returns true if the receiver is a leaf.
 void remove(int index)
          Removes the child node at the specified index from this node.
 void remove(MutableTreeTableNode node)
          Removes the specified child node from this node.
 void removeFromParent()
          Removes this node from it's parent.
 void setAllowsChildren(boolean allowsChildren)
          Determines whether or not this node is allowed to have children.
 void setParent(MutableTreeTableNode newParent)
          Sets the parent of this node to newParent.
 void setUserObject(Object object)
          Sets the user object for this node.
 void setValueAt(Object aValue, int column)
          Sets the value for the given column.
 String toString()
          Returns the result of sending toString() to this node's user object, or null if this node has no user object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jdesktop.swingx.treetable.TreeTableNode
getColumnCount, getValueAt
 

Field Detail

parent

protected MutableTreeTableNode parent
this node's parent, or null if this node has no parent


children

protected Vector<MutableTreeTableNode> children
array of children, may be null if this node has no children


userObject

protected transient Object userObject
optional user object


allowsChildren

protected boolean allowsChildren
Constructor Detail

AbstractMutableTreeTableNode

public AbstractMutableTreeTableNode()

AbstractMutableTreeTableNode

public AbstractMutableTreeTableNode(Object userObject)

AbstractMutableTreeTableNode

public AbstractMutableTreeTableNode(Object userObject,
                                    boolean allowsChildren)
Method Detail

add

public void add(MutableTreeTableNode child)

insert

public void insert(MutableTreeTableNode child,
                   int index)
Adds the child to this node at the specified index. This method calls setParent on child with this as the parameter.

Specified by:
insert in interface MutableTreeTableNode
Parameters:
child - the node to add as a child
index - the index of the child

remove

public void remove(int index)
Removes the child node at the specified index from this node. This method calls setParent on child with a null parameter.

Specified by:
remove in interface MutableTreeTableNode
Parameters:
index - the index of the child

remove

public void remove(MutableTreeTableNode node)
Removes the specified child node from this node. This method calls setParent on child with a null parameter.

Specified by:
remove in interface MutableTreeTableNode

removeFromParent

public void removeFromParent()
Removes this node from it's parent. Most implementations will use getParent().remove(this).

Specified by:
removeFromParent in interface MutableTreeTableNode

setParent

public void setParent(MutableTreeTableNode newParent)
Sets the parent of this node to newParent. This methods remove the node from its old parent.

Specified by:
setParent in interface MutableTreeTableNode
Parameters:
newParent - the new parent for this node

getUserObject

public Object getUserObject()
Returns this node's user object.

Returns:
the Object stored at this node by the user
See Also:
setUserObject(java.lang.Object), toString()

setUserObject

public void setUserObject(Object object)
Sets the user object for this node.

Specified by:
setUserObject in interface MutableTreeTableNode
Parameters:
object - the object to set

getChildAt

public TreeTableNode getChildAt(int childIndex)
Returns the child TreeNode at index childIndex.

Specified by:
getChildAt in interface TreeNode
Specified by:
getChildAt in interface TreeTableNode
Parameters:
childIndex - the index of the child
Returns:
the TreeTableNode corresponding to the specified index

getIndex

public int getIndex(TreeNode node)
Returns the index of node in the receivers children. If the receiver does not contain node, -1 will be returned.

Specified by:
getIndex in interface TreeNode

getParent

public TreeTableNode getParent()
Returns the parent TreeNode of the receiver.

Specified by:
getParent in interface TreeNode
Specified by:
getParent in interface TreeTableNode
Returns:
the parent TreeTableNode or null if this node has no parent (such nodes are usually root nodes).

children

public Enumeration<? extends MutableTreeTableNode> children()
Returns the children of the receiver as an Enumeration.

Specified by:
children in interface TreeNode
Specified by:
children in interface MutableTreeTableNode
Specified by:
children in interface TreeTableNode
Returns:
an enumeration of TreeTableNodes

getAllowsChildren

public boolean getAllowsChildren()
Returns true if the receiver allows children.

Specified by:
getAllowsChildren in interface TreeNode

setAllowsChildren

public void setAllowsChildren(boolean allowsChildren)
Determines whether or not this node is allowed to have children. If allowsChildren is false, all of this node's children are removed.

Note: By default, a node allows children.

Parameters:
allowsChildren - true if this node is allowed to have children

getChildCount

public int getChildCount()
Returns the number of children TreeNodes the receiver contains.

Specified by:
getChildCount in interface TreeNode

isLeaf

public boolean isLeaf()
Returns true if the receiver is a leaf.

Specified by:
isLeaf in interface TreeNode

isEditable

public boolean isEditable(int column)
Determines whether the specified column is editable.

Specified by:
isEditable in interface TreeTableNode
Parameters:
column - the column to query
Returns:
always returns false

setValueAt

public void setValueAt(Object aValue,
                       int column)
Sets the value for the given column.

Specified by:
setValueAt in interface TreeTableNode
Parameters:
aValue - the value to set
column - the column to set the value on

toString

public String toString()
Returns the result of sending toString() to this node's user object, or null if this node has no user object.

Overrides:
toString in class Object
Returns:
a string representation of the object.
See Also:
getUserObject()