Class TreeItemUtil

java.lang.Object
com.iamsoft.util.ui.javafx.TreeItemUtil

public final class TreeItemUtil extends Object
  • Nested Class Summary

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

    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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • 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:
    • 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:
    • 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:
    • 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.