Package jenkins.model

Class Nodes

  • All Implemented Interfaces:
    PersistenceRoot, Saveable

    @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class)
    public class Nodes
    extends Object
    implements PersistenceRoot
    Manages all the nodes for Jenkins.
    Since:
    1.607
    • Method Detail

      • getNodes

        @NonNull
        public List<Node> getNodes()
        Returns the list of nodes.
        Returns:
        the list of nodes.
      • setNodes

        public void setNodes​(@NonNull
                             Collection<? extends Node> nodes)
                      throws IOException
        Sets the list of nodes.
        Parameters:
        nodes - the new list of nodes.
        Throws:
        IOException - if the new list of nodes could not be persisted.
      • addNode

        public void addNode​(@NonNull
                            Node node)
                     throws IOException
        Adds a node. If a node of the same name already exists then that node will be replaced.
        Parameters:
        node - the new node.
        Throws:
        IOException - if the list of nodes could not be persisted.
      • getConfigFile

        public XmlFile getConfigFile​(Node node)
      • getConfigFile

        public XmlFile getConfigFile​(File dir)
      • getConfigFile

        public XmlFile getConfigFile​(String nodeName)
      • updateNode

        public boolean updateNode​(@NonNull
                                  Node node)
                           throws IOException
        Updates an existing node on disk. If the node instance is not in the list of nodes, then this will be a no-op, even if there is another instance with the same Node.getNodeName().
        Parameters:
        node - the node to be updated.
        Returns:
        true, if the node was updated. false, if the node was not in the list of nodes.
        Throws:
        IOException - if the node could not be persisted.
        Since:
        1.634
      • replaceNode

        public boolean replaceNode​(Node oldOne,
                                   @NonNull
                                   Node newOne)
                            throws IOException
        Replace node of given name.
        Returns:
        true if node was replaced.
        Throws:
        IOException
        Since:
        2.8
      • removeNode

        public void removeNode​(@NonNull
                               Node node)
                        throws IOException
        Removes a node. If the node instance is not in the list of nodes, then this will be a no-op, even if there is another instance with the same Node.getNodeName().
        Parameters:
        node - the node instance to remove.
        Throws:
        IOException - if the list of nodes could not be persisted.
      • getNode

        @CheckForNull
        public Node getNode​(String name)
        Returns the named node.
        Parameters:
        name - the Node.getNodeName() of the node to retrieve.
        Returns:
        the Node or null if the node could not be found.
      • load

        public void load()
                  throws IOException
        Loads the nodes from disk.
        Throws:
        IOException - if the nodes could not be deserialized.
      • getOrLoad

        @CheckForNull
        public Node getOrLoad​(String name)
      • load

        @CheckForNull
        public Node load​(String name)
      • unload

        public void unload​(Node node)
      • isLegacy

        public boolean isLegacy()
        Returns true if and only if the list of nodes is stored in the legacy location.
        Returns:
        true if and only if the list of nodes is stored in the legacy location.
      • getRootDir

        public File getRootDir()
        Description copied from interface: PersistenceRoot
        Gets the root directory on the file system that this Item can use freely for storing the configuration data.

        This parameter is given by the ItemGroup when Item is loaded from memory.

        Specified by:
        getRootDir in interface PersistenceRoot
      • getRootDirFor

        public File getRootDirFor​(Node node)