Package jenkins.model
Class Nodes
- java.lang.Object
-
- jenkins.model.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classNodes.ScheduleMaintenanceAfterSavingNode
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddNode(Node node)Adds a node.XmlFilegetConfigFile(Node node)XmlFilegetConfigFile(File dir)XmlFilegetConfigFile(String nodeName)NodegetNode(String name)Returns the named node.List<Node>getNodes()Returns the list of nodes.NodegetOrLoad(String name)FilegetRootDir()Gets the root directory on the file system that thisItemcan use freely for storing the configuration data.FilegetRootDirFor(Node node)booleanisLegacy()Returnstrueif and only if the list of nodes is stored in the legacy location.voidload()Loads the nodes from disk.voidload(File dir)Nodeload(String name)voidremoveNode(Node node)Removes a node.booleanreplaceNode(Node oldOne, Node newOne)Replace node of given name.voidsave()Persists the state of this object into XML.voidsetNodes(Collection<? extends Node> nodes)Sets the list of nodes.voidunload(Node node)booleanupdateNode(Node node)Updates an existing node on disk.
-
-
-
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 IOExceptionSets 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 IOExceptionAdds 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 IOExceptionUpdates 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 sameNode.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:
trueif node was replaced.- Throws:
IOException- Since:
- 2.8
-
removeNode
public void removeNode(@NonNull Node node) throws IOExceptionRemoves 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 sameNode.getNodeName().- Parameters:
node- the node instance to remove.- Throws:
IOException- if the list of nodes could not be persisted.
-
save
public void save() throws IOExceptionDescription copied from interface:SaveablePersists the state of this object into XML.For making a bulk change efficiently, see
BulkChange.To support listeners monitoring changes to this object, call
SaveableListener.fireOnChange(hudson.model.Saveable, hudson.XmlFile)- Specified by:
savein interfaceSaveable- Throws:
IOException- if the persistence failed.
-
getNode
@CheckForNull public Node getNode(String name)
Returns the named node.- Parameters:
name- theNode.getNodeName()of the node to retrieve.- Returns:
- the
Nodeornullif the node could not be found.
-
load
public void load() throws IOExceptionLoads the nodes from disk.- Throws:
IOException- if the nodes could not be deserialized.
-
load
public void load(File dir) throws IOException
- Throws:
IOException
-
unload
public void unload(Node node)
-
isLegacy
public boolean isLegacy()
Returnstrueif and only if the list of nodes is stored in the legacy location.- Returns:
trueif and only if the list of nodes is stored in the legacy location.
-
getRootDir
public File getRootDir()
Description copied from interface:PersistenceRootGets the root directory on the file system that thisItemcan use freely for storing the configuration data.This parameter is given by the
ItemGroupwhenItemis loaded from memory.- Specified by:
getRootDirin interfacePersistenceRoot
-
-