Package org.zkoss.zul

Class DefaultTreeModel<E>

    • Constructor Detail

      • DefaultTreeModel

        public DefaultTreeModel​(TreeNode<E> root)
        Creates a tree with the specified note as the root.
        Parameters:
        root - the root (cannot be null).
      • DefaultTreeModel

        public DefaultTreeModel​(TreeNode<E> root,
                                boolean emptyChildAsLeaf)
        Creates a tree with the specified note as the root.
        Parameters:
        root - the root (cannot be null).
        emptyChildAsLeaf - whether to treat the zero size of children node as a leaf node.
        Since:
        6.0.3
    • Method Detail

      • isLeaf

        public boolean isLeaf​(TreeNode<E> node)
        Description copied from interface: TreeModel
        Returns true if 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.
        Specified by:
        isLeaf in interface TreeModel<E>
        Parameters:
        node - a node in the tree, obtained from this data source
        Returns:
        true if node is a leaf.
      • getChild

        public TreeNode<E> getChild​(TreeNode<E> parent,
                                    int index)
        Description copied from interface: TreeModel
        Returns the child of the given parent at the given index where the index indicates in the parent's child array.
        Specified by:
        getChild in interface TreeModel<E>
        Parameters:
        parent - a node in the tree, obtained from this data source
        Returns:
        the child of parent at index
      • getChildCount

        public int getChildCount​(TreeNode<E> parent)
        Description copied from interface: TreeModel
        Returns the number of children of the given parent.
        Specified by:
        getChildCount in interface TreeModel<E>
        Parameters:
        parent - a node in the tree, obtained from this data source
        Returns:
        the number of children of the node parent
      • getIndexOfChild

        public int getIndexOfChild​(TreeNode<E> parent,
                                   TreeNode<E> child)
        Description copied from class: AbstractTreeModel
        Returns the index of child in parent. If either parent or child is null, returns -1. If either parent or child don't belong to this tree model, returns -1.

        The default implementation iterates through all children of parent by invoking, and check if child is part of them. You could override it if you have a better algorithm. AbstractTreeModel.getChild(int[])

        Specified by:
        getIndexOfChild in interface TreeModel<E>
        Overrides:
        getIndexOfChild in class AbstractTreeModel<TreeNode<E>>
        Parameters:
        parent - a node in the tree, obtained from this data source
        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 or don't belong to this tree model
      • getPath

        public int[] getPath​(TreeNode<E> child)
        Returns the path from the child, where the path indicates the child is placed in the whole tree.
        Specified by:
        getPath in interface TreeModel<E>
        Overrides:
        getPath in class AbstractTreeModel<TreeNode<E>>
        Parameters:
        child - the node we are interested in
        Since:
        6.0.0
      • removeFromSelection

        public boolean removeFromSelection​(java.lang.Object child)
        Description copied from interface: Selectable
        Remove the specified object from selection.

        If this represents a change to the current selection then notify each ListDataListener, including UI.

        Specified by:
        removeFromSelection in interface Selectable<E>
        Overrides:
        removeFromSelection in class AbstractTreeModel<TreeNode<E>>
        Parameters:
        child - the object to be remove from selection.
        Returns:
        whether it is removed successfully
      • removeOpenObject

        public boolean removeOpenObject​(java.lang.Object child)
        Description copied from interface: Openable
        Remove the specified object from selection.
        Specified by:
        removeOpenObject in interface Openable<E>
        Overrides:
        removeOpenObject in class AbstractTreeModel<TreeNode<E>>
        Parameters:
        child - the object to be remove from selection.
        Returns:
        whether it is removed successfully
      • sort

        public void sort()
        Description copied from interface: Sortable
        Sort the data model by default or assigned comparator. Notice that the default implementation does nothing, the model which implements Sortable need to implement this method.
        Specified by:
        sort in interface Sortable<E>
        See Also:
        Sortable.sort(Comparator, boolean)
      • getSortDirection

        public java.lang.String getSortDirection​(java.util.Comparator<TreeNode<E>> cmpr)
        Description copied from interface: Sortable
        Returns the sort direction of this model for the given comparator. It must be one of "ascending", "descending" and "natural".

        Default: "natural".

        Specified by:
        getSortDirection in interface Sortable<E>