Class FSBNode

    • Constructor Detail

      • FSBNode

        public FSBNode()
    • Method Detail

      • getFSRL

        public abstract FSRL getFSRL()
        Returns the FSRL of the filesystem object that this node represents.

        The root of filesystems will return a FSRLRoot.

        Returns:
        FSRL of the filesystem object.
      • getToolTip

        public java.lang.String getToolTip()
        Description copied from class: GTreeNode
        Returns the string to be displayed as a tooltip when the user hovers the mouse on this node in the tree
        Specified by:
        getToolTip in class GTreeNode
        Returns:
        the tooltip to be displayed
      • getIcon

        public javax.swing.Icon getIcon​(boolean expanded)
        Description copied from class: GTreeNode
        Returns the Icon to be displayed for this node in the tree
        Specified by:
        getIcon in class GTreeNode
        Parameters:
        expanded - true if the node is expanded
        Returns:
        the icon to be displayed for this node in the tree
      • getName

        public java.lang.String getName()
        Description copied from class: GTreeNode
        Returns the name of the node. If GTreeNode.getDisplayText() is not overridden, then this is also the text that will be displayed in the tree for that node. In general, the name of a node should not change. If the text displayed in the tree changes over time, override GTreeNode.getDisplayText().
        Specified by:
        getName in class GTreeNode
        Returns:
        the name of the node
      • findContainingFileSystemFSBRootNode

        public static FSBRootNode findContainingFileSystemFSBRootNode​(FSBNode node)
        Returns the FSBRootNode that represents the root of the file system that contains the specified file node.
        Parameters:
        node - GTree node that represents a file.
        Returns:
        FSBRootNode that represents the file system holding the file.
      • createNodesFromFileList

        public static java.util.List<GTreeNode> createNodesFromFileList​(java.util.List<GFile> files,
                                                                        TaskMonitor monitor)
        Helper method to convert GFile objects to FSBNode objects.
        Parameters:
        files - List of GFile objects to convert
        monitor - TaskMonitor
        Returns:
        List of FSBNode instances (return typed as a GTreeNode list), specific to each GFile instance's type.
      • createNodeFromFile

        public static FSBFileNode createNodeFromFile​(GFile file)
        Helper method to convert a single GFile object into a FSBNode object.
        Parameters:
        file - GFile to convert
        Returns:
        a new FSBFileNode with type specific to the GFile's type.
      • getParent

        public final GTreeNode getParent()
        Returns the parent of this node. Note: this method is deliberately not synchronized (See comments above)
        Returns:
        the parent of this node.
      • isRoot

        public final boolean isRoot()
        Returns true if this is a root node of a GTree
        Returns:
        true if this is a root node of a GTree
      • children

        protected final java.util.List<GTreeNode> children()
      • doSetChildrenAndFireEvent

        protected void doSetChildrenAndFireEvent​(java.util.List<GTreeNode> childList)
        Sets the children of this node to the given list of child nodes and fires the appropriate tree event to kick the tree to update the display. Note: This method must be called from the swing thread because it will notify the underlying JTree.
        Parameters:
        childList - the list of child nodes to assign as children to this node
        See Also:
        if calling from a background thread.
      • doSetChildren

        protected void doSetChildren​(java.util.List<GTreeNode> childList)
        Sets the children of this node to the given list of child nodes, but does not notify the tree. This method does not have to be called from the swing thread. It is intended to be used by background threads that want to populate all or part of the tree, but wait until the bulk operations are completed before notifying the tree.
        Parameters:
        childList - the list of child nodes to assign as children to this node
      • doAddNode

        protected void doAddNode​(GTreeNode node)
        Adds a node to this node's children. Must be called from the swing thread.
        Parameters:
        node - the node to add as a child to this node
      • doAddNode

        protected void doAddNode​(int index,
                                 GTreeNode node)
        Adds a node to this node's children at the given index and notifies the tree. Must be called from the swing thread.
        Parameters:
        index - the index at which to add the new node
        node - the node to add as a child to this node
      • doRemoveNode

        protected void doRemoveNode​(GTreeNode node)
        Removes the node from this node's children and notifies the tree. Must be called from the swing thread.
        Parameters:
        node - the node to remove
      • doAddNodes

        protected void doAddNodes​(java.util.List<GTreeNode> nodes)
        Adds the given nodes to this node's children. Must be called from the swing thread.
        Parameters:
        nodes - the nodes to add to the children this node
      • clone

        public GTreeNode clone()
                        throws java.lang.CloneNotSupportedException
        Creates a clone of this node. The clone should contain a shallow copy of all the node's attributes except that the parent and children are null.
        Overrides:
        clone in class java.lang.Object
        Returns:
        the clone of this object.
        Throws:
        java.lang.CloneNotSupportedException - if some implementation prevents itself from being cloned.
      • dispose

        public void dispose()
      • isInProgress

        public final boolean isInProgress()
        Returns true if the node is in the process of loading its children. See GTreeSlowLoadingNode
        Returns:
        true if the node is in the process of loading its children.
      • isLoaded

        public boolean isLoaded()
        True if the children for this node have been loaded yet. Some GTree nodes are lazy in that they don't load their children until needed. Nodes that have the IN_PROGRESS node as it child is considered loaded if in the swing thread, otherwise they are considered not loaded.
        Returns:
        true if the children for this node have been loaded.
      • getTree

        public GTree getTree()
        Returns the GTree that this node is attached to
        Returns:
        the GTree that this node is attached to
      • doFireNodeAdded

        protected void doFireNodeAdded​(GTreeNode newNode)
      • doFireNodeRemoved

        protected void doFireNodeRemoved​(GTreeNode removedNode,
                                         int index)
      • doFireNodeStructureChanged

        protected void doFireNodeStructureChanged()
      • doFireNodeChanged

        protected void doFireNodeChanged()