Class TreeItemUtil


  • public final class TreeItemUtil
    extends Object
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  TreeItemUtil.StreamOrder
      Order of tree traversal.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>> ancestorObservableList​(javafx.scene.control.TreeItem<T> pTreeItem)
      ObservableList starting with specified node and ending at root.
      static <T> boolean childrenLoaded​(javafx.scene.control.TreeItem<T> pItem)
      If the specified item is a LazyTreeItem, determines whether its child elements are loaded.
      static <T> javafx.beans.property.ReadOnlyObjectProperty<Integer> descendantCountProperty​(javafx.scene.control.TreeItem<T> pTreeItem)
      Property providing the count of argument node and all descendants.
      static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>> descendantObservableList​(javafx.scene.control.TreeItem<T> pTreeItem)  
      static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>> descendantObservableList​(javafx.scene.control.TreeItem<T> pTreeItem, TreeItemUtil.StreamOrder pStreamOrder)
      List containing argument node and all descendants.
      static int getDepth​(javafx.scene.control.TreeItem<?> pItem)  
      static <T> String getPath​(javafx.scene.control.TreeItem<T> pItem, Function<T,​String> pToStringFunction)
      Returns the path of the specified item, excluding root.
      static <T> javafx.scene.control.TreeItem<T> getRoot​(javafx.scene.control.TreeItem<T> pItem)  
      static <T> Map<javafx.scene.control.TreeItem<T>,​List<javafx.scene.control.TreeItem<T>>> groupByParent​(Collection<javafx.scene.control.TreeItem<T>> pTreeItems)
      Group into lists of siblings.
      static boolean isVisible​(javafx.scene.control.TreeItem<?> pTreeItem)
      Determines whether all ancestors are expanded.
      static <T> Iterator<javafx.scene.control.TreeItem<T>> parentIterator​(javafx.scene.control.TreeItem<T> pTreeItem)
      Iterator from argument tree item up to and including root tree item.
      static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>> peekChildren​(javafx.scene.control.TreeItem<T> pItem)
      If the specified item is a LazyTreeItem, this method provides access to children without triggering child elements loading in case they are not loaded, yet.
      static <T> Stream<javafx.scene.control.TreeItem<T>> peekStream​(javafx.scene.control.TreeItem<T> pItem)
      Stream containing specified tree item and all of its already loaded descendants.
      static <T> Stream<javafx.scene.control.TreeItem<T>> peekStream​(javafx.scene.control.TreeItem<T> pItem, Predicate<javafx.scene.control.TreeItem<T>> pProcessDescendants)
      Stream containing specified tree item and all of its already loaded descendants.
      static <T> void setupTreeItemSelection​(javafx.scene.control.TreeItem<T> pRoot, Function<javafx.scene.control.TreeItem<T>,​javafx.beans.property.Property<Boolean>> pSelectionSupplier, boolean pLazySelection)  
      static <T> javafx.scene.control.TreeItem<T> snapshot​(javafx.scene.control.TreeItem<T> pTreeItem)
      Make copy of tree item with identical hierarchy.
      static <T> Stream<javafx.scene.control.TreeItem<T>> visitorStream​(javafx.scene.control.TreeItem<T> pTreeItem)
      Stream containing specified tree item and all of its descendants.
      static <T> Stream<javafx.scene.control.TreeItem<T>> visitorStream​(javafx.scene.control.TreeItem<T> pTreeItem, TreeItemUtil.StreamOrder pOrder)
      Stream containing specified tree item and all of its descendants.
      static <T> Stream<javafx.scene.control.TreeItem<T>> visitorStream​(javafx.scene.control.TreeItem<T> pTreeItem, TreeItemUtil.StreamOrder pOrder, Predicate<javafx.scene.control.TreeItem<T>> pProcessDescendants)
      Stream containing specified tree item and all of its descendants.
    • Method Detail

      • getDepth

        public static int getDepth​(javafx.scene.control.TreeItem<?> pItem)
      • getRoot

        public static <T> javafx.scene.control.TreeItem<T> getRoot​(javafx.scene.control.TreeItem<T> pItem)
      • visitorStream

        public static <T> Stream<javafx.scene.control.TreeItem<T>> visitorStream​(javafx.scene.control.TreeItem<T> pTreeItem)
        Stream containing specified tree item and all of its descendants. Depth-first visitor in TreeItemUtil.StreamOrder.ABDC order.
      • visitorStream

        public static <T> Stream<javafx.scene.control.TreeItem<T>> visitorStream​(javafx.scene.control.TreeItem<T> pTreeItem,
                                                                                 TreeItemUtil.StreamOrder pOrder)
        Stream containing specified tree item and all of its descendants. Depth-first visitor.
      • visitorStream

        public static <T> Stream<javafx.scene.control.TreeItem<T>> visitorStream​(javafx.scene.control.TreeItem<T> pTreeItem,
                                                                                 TreeItemUtil.StreamOrder pOrder,
                                                                                 Predicate<javafx.scene.control.TreeItem<T>> pProcessDescendants)
        Stream containing specified tree item and all of its descendants. Depth-first visitor.
        Parameters:
        pProcessDescendants - Specifies whether to process the descendants of a tree item.
      • ancestorObservableList

        public static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>> ancestorObservableList​(javafx.scene.control.TreeItem<T> pTreeItem)
        ObservableList starting with specified node and ending at root.
      • descendantObservableList

        public static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>> descendantObservableList​(javafx.scene.control.TreeItem<T> pTreeItem)
      • descendantObservableList

        public static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>> descendantObservableList​(javafx.scene.control.TreeItem<T> pTreeItem,
                                                                                                                       TreeItemUtil.StreamOrder pStreamOrder)
        List containing argument node and all descendants. Automatically updated when children are added/removed. List is in TreeItemUtil.StreamOrder.ABDC order.
        See Also:
        visitorStream(TreeItem)
      • descendantCountProperty

        public static <T> javafx.beans.property.ReadOnlyObjectProperty<Integer> descendantCountProperty​(javafx.scene.control.TreeItem<T> pTreeItem)
        Property providing the count of argument node and all descendants. Count changes are delayed to improve performance and to prevent too frequent updates.
      • parentIterator

        public static <T> Iterator<javafx.scene.control.TreeItem<T>> parentIterator​(javafx.scene.control.TreeItem<T> pTreeItem)
        Iterator from argument tree item up to and including root tree item.
        Parameters:
        pTreeItem - First item returned by iterator.
        See Also:
        TreeItem.getParent()
      • isVisible

        public static boolean isVisible​(javafx.scene.control.TreeItem<?> pTreeItem)
        Determines whether all ancestors are expanded.
        Returns:
        true if all ancestors are expanded.
      • getPath

        public static <T> String getPath​(javafx.scene.control.TreeItem<T> pItem,
                                         Function<T,​String> pToStringFunction)
        Returns the path of the specified item, excluding root.
      • setupTreeItemSelection

        public static <T> void setupTreeItemSelection​(javafx.scene.control.TreeItem<T> pRoot,
                                                      Function<javafx.scene.control.TreeItem<T>,​javafx.beans.property.Property<Boolean>> pSelectionSupplier,
                                                      boolean pLazySelection)
      • peekStream

        public static <T> Stream<javafx.scene.control.TreeItem<T>> peekStream​(javafx.scene.control.TreeItem<T> pItem)
        Stream containing specified tree item and all of its already loaded descendants.
      • peekStream

        public static <T> Stream<javafx.scene.control.TreeItem<T>> peekStream​(javafx.scene.control.TreeItem<T> pItem,
                                                                              Predicate<javafx.scene.control.TreeItem<T>> pProcessDescendants)
        Stream containing specified tree item and all of its already loaded descendants.
        Parameters:
        pProcessDescendants - Specifies whether to process the descendants of a tree item.
      • childrenLoaded

        public static <T> boolean childrenLoaded​(javafx.scene.control.TreeItem<T> pItem)
        If the specified item is a LazyTreeItem, determines whether its child elements are loaded. Otherwise, true is returned.
        See Also:
        LazyTreeItem.peekChildren()
      • peekChildren

        public static <T> javafx.collections.ObservableList<javafx.scene.control.TreeItem<T>> peekChildren​(javafx.scene.control.TreeItem<T> pItem)
        If the specified item is a LazyTreeItem, this method provides access to children without triggering child elements loading in case they are not loaded, yet.
        See Also:
        LazyTreeItem.peekChildren()
      • groupByParent

        public static <T> Map<javafx.scene.control.TreeItem<T>,​List<javafx.scene.control.TreeItem<T>>> groupByParent​(Collection<javafx.scene.control.TreeItem<T>> pTreeItems)
        Group into lists of siblings.
      • snapshot

        public static <T> javafx.scene.control.TreeItem<T> snapshot​(javafx.scene.control.TreeItem<T> pTreeItem)
        Make copy of tree item with identical hierarchy.