Package jenkins.model

Class Nodes

  • All Implemented Interfaces:
    Saveable

    @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class)
    public class Nodes
    extends Object
    implements Saveable
    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.
      • 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.
      • 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.