Class AbstractMutableTreeTableNode

    • Field Detail

      • parent

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

        protected final List<MutableTreeTableNode> children
        List of children, if this node has no children the list will be empty. This list will never be null.
      • 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

      • createChildrenList

        protected List<MutableTreeTableNode> createChildrenList()
        Creates the list used to manage the children of this node.

        This method is called by the constructor.

        Returns:
        a list; this list is guaranteed to be non-null
      • 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
        Parameters:
        node - the index of the child
      • 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
      • setUserObject

        public void setUserObject​(Object object)
        Sets the user object stored in this node.
        Specified by:
        setUserObject in interface TreeTableNode
        Parameters:
        object - the object to store
      • getChildAt

        public TreeTableNode getChildAt​(int childIndex)
        Overridden to specify the return type. Returns the child TreeNode at index childIndex. Models that utilize this node should verify the column count before querying this node, since nodes may return differing sizes even for the same model.
        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
      • getParent

        public TreeTableNode getParent()
        Overridden to specify the return type. Returns the parent TreeTableNode 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).
      • 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
      • isLeaf

        public boolean isLeaf()
        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
        See Also:
        getUserObject()