Class AbstractLazyLoadingTreeNode<T extends TreeNode>

java.lang.Object
com.inductiveautomation.ignition.client.util.gui.tree.AbstractLazyLoadingTreeNode<T>
All Implemented Interfaces:
TreeNode
Direct Known Subclasses:
PropTreeComponentNode, PropTreePageNode, PropTreePropertyNode, PropTreeRootNode, PropTreeScopeNode, PropTreeSessionNode, PropTreeViewNode, ViewFolderTreeNode

public abstract class AbstractLazyLoadingTreeNode<T extends TreeNode> extends Object implements TreeNode
Tree Node implementation which only populates its children upon demand.
  • Field Details

  • Constructor Details

    • AbstractLazyLoadingTreeNode

      protected AbstractLazyLoadingTreeNode(TreeNode parent)
  • Method Details

    • checkChildren

      protected void checkChildren()
    • setChildren

      protected void setChildren(List<T> children)
    • loadChildren

      @Nullable protected abstract List<T> loadChildren()
      This will be called as late a possible for the node to populate its children list. May return null if there are no children.
    • findChild

      public Optional<T> findChild(Predicate<T> predicate)
    • getChildAt

      public TreeNode getChildAt(int index)
      Specified by:
      getChildAt in interface TreeNode
    • getChildCount

      public int getChildCount()
      Specified by:
      getChildCount in interface TreeNode
    • getParent

      public TreeNode getParent()
      Specified by:
      getParent in interface TreeNode
    • getIndex

      public int getIndex(TreeNode node)
      Specified by:
      getIndex in interface TreeNode
    • getAllowsChildren

      public boolean getAllowsChildren()
      Specified by:
      getAllowsChildren in interface TreeNode
    • isLeaf

      public boolean isLeaf()
      Specified by:
      isLeaf in interface TreeNode
    • children

      public Enumeration<? extends TreeNode> children()
      Specified by:
      children in interface TreeNode