Package com.structurizr.model
Class InfrastructureNode
java.lang.Object
com.structurizr.model.Element
com.structurizr.model.DeploymentElement
com.structurizr.model.InfrastructureNode
public final class InfrastructureNode extends DeploymentElement
Represents an infrastructure node, which is something like:
- Load balancer
- Firewall
- DNS service
- etc
-
Constructor Summary
Constructors Constructor Description InfrastructureNode()
-
Method Summary
Modifier and Type Method Description Perspective
addPerspective(java.lang.String name, java.lang.String description)
Adds a perspective to this model item.void
addProperty(java.lang.String name, java.lang.String value)
Adds a name-value pair property to this element.void
addTags(java.lang.String... tags)
java.lang.String
getCanonicalName()
java.lang.String
getId()
Gets the ID of this item in the model.java.lang.String
getOriginId()
Element
getParent()
Gets the parent deployment node.java.util.Set<Perspective>
getPerspectives()
Gets the set of perspectives associated with this model item.java.util.Map<java.lang.String,java.lang.String>
getProperties()
Gets the collection of name-value property pairs associated with this element, as a Map.protected java.util.Set<java.lang.String>
getRequiredTags()
java.lang.String
getTags()
Gets the comma separated list of tags.java.util.Set<java.lang.String>
getTagsAsSet()
java.lang.String
getTechnology()
boolean
hasTag(java.lang.String tag)
Determines whether this model item has the given tag.boolean
removeTag(java.lang.String tag)
Removes the given tag.void
setTechnology(java.lang.String technology)
Relationship
uses(DeploymentElement destination, java.lang.String description, java.lang.String technology)
Adds a relationship between this and another deployment element (deployment node, infrastructure node, or container instance).Relationship
uses(DeploymentElement destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle)
Adds a relationship between this and another deployment element (deployment node, infrastructure node, or container instance).Methods inherited from class com.structurizr.model.Element
getDescription, getEfferentRelationshipsWith, getEfferentRelationshipWith, getEfferentRelationshipWith, getModel, getName, getRelationships, getUrl, hasAfferentRelationships, hasEfferentRelationshipWith, hasEfferentRelationshipWith, setDescription, setModel, setUrl, toString
-
Constructor Details
-
InfrastructureNode
public InfrastructureNode()
-
-
Method Details
-
uses
public Relationship uses(DeploymentElement destination, java.lang.String description, java.lang.String technology)Adds a relationship between this and another deployment element (deployment node, infrastructure node, or container instance).- Parameters:
destination
- the destination DeploymentElementdescription
- a short description of the relationshiptechnology
- the technology- Returns:
- a Relationship object
-
uses
public Relationship uses(DeploymentElement destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle)Adds a relationship between this and another deployment element (deployment node, infrastructure node, or container instance).- Parameters:
destination
- the destination DeploymentElementdescription
- a short description of the relationshiptechnology
- the technologyinteractionStyle
- the interaction style (Synchronous vs Asynchronous)- Returns:
- a Relationship object
-
getParent
Gets the parent deployment node. -
getTechnology
public java.lang.String getTechnology() -
setTechnology
public void setTechnology(java.lang.String technology) -
getRequiredTags
protected java.util.Set<java.lang.String> getRequiredTags() -
getCanonicalName
public java.lang.String getCanonicalName()- Specified by:
getCanonicalName
in classElement
-
getId
public java.lang.String getId()Gets the ID of this item in the model.- Returns:
- the ID, as a String
-
getOriginId
public java.lang.String getOriginId() -
getTags
public java.lang.String getTags()Gets the comma separated list of tags.- Returns:
- a comma separated list of tags, or an empty string if there are no tags
-
getTagsAsSet
public java.util.Set<java.lang.String> getTagsAsSet() -
addTags
public void addTags(java.lang.String... tags) -
removeTag
public boolean removeTag(java.lang.String tag)Removes the given tag.- Parameters:
tag
- the tag to remove- Returns:
- true if the tag was removed; will return false if a non-existent tag is passed, or if an attempt is made to remove required tags, which cannot be removed.
-
hasTag
public boolean hasTag(java.lang.String tag)Determines whether this model item has the given tag.- Parameters:
tag
- the tag to check for- Returns:
- true if tag is present as a tag on this item, or if it is one of the required tags defined by the model in getRequiredTags(), false otherwise
-
getProperties
public java.util.Map<java.lang.String,java.lang.String> getProperties()Gets the collection of name-value property pairs associated with this element, as a Map.- Returns:
- a Map (String, String) (empty if there are no properties)
-
addProperty
public void addProperty(java.lang.String name, java.lang.String value)Adds a name-value pair property to this element.- Parameters:
name
- the name of the propertyvalue
- the value of the property
-
getPerspectives
Gets the set of perspectives associated with this model item.- Returns:
- a Set of Perspective objects (empty if there are none)
-
addPerspective
Adds a perspective to this model item.- Parameters:
name
- the name of the perspective (e.g. "Security", must be unique)description
- a description of the perspective- Returns:
- a Perspective object
- Throws:
java.lang.IllegalArgumentException
- if perspective details are not specified, or the named perspective exists already
-