Package com.structurizr.model
Class SoftwareSystem
java.lang.Object
com.structurizr.model.ModelItem
com.structurizr.model.Element
com.structurizr.model.GroupableElement
com.structurizr.model.StaticStructureElement
com.structurizr.model.SoftwareSystem
public final class SoftwareSystem extends StaticStructureElement
Represents a "software system" in the C4 model.
-
Method Summary
Modifier and Type Method Description Container
addContainer(java.lang.String name)
Adds a container with the specified name.Container
addContainer(java.lang.String name, java.lang.String description)
Adds a container with the specified name and description.Container
addContainer(java.lang.String name, java.lang.String description, java.lang.String technology)
Adds a container with the specified name, description and technology.java.lang.String
getCanonicalName()
Gets the canonical name of this software system, in the form "/Software System".java.util.Set<Container>
getContainers()
Gets the set of containers within this software system.Container
getContainerWithId(java.lang.String id)
Gets the container with the specified ID.Container
getContainerWithName(java.lang.String name)
Gets the container with the specified name.Location
getLocation()
Gets the location of this software system.Element
getParent()
Gets the parent of this software system.protected java.util.Set<java.lang.String>
getRequiredTags()
void
setLocation(Location location)
Sets the location of this software system.Methods inherited from class com.structurizr.model.StaticStructureElement
delivers, delivers, delivers, delivers, uses, uses, uses, uses, uses, uses, uses, uses, uses, uses, uses, uses, uses, uses
Methods inherited from class com.structurizr.model.Element
getDescription, getEfferentRelationshipsWith, getEfferentRelationshipWith, getEfferentRelationshipWith, getModel, getName, getRelationships, hasAfferentRelationships, hasEfferentRelationshipWith, hasEfferentRelationshipWith, setDescription, setModel, toString, uses, uses, uses
Methods inherited from class com.structurizr.model.ModelItem
addPerspective, addProperty, addTags, getId, getOriginId, getPerspectives, getProperties, getTags, getTagsAsSet, getUrl, hasTag, removeTag, setUrl
-
Method Details
-
getParent
Gets the parent of this software system. -
getLocation
Gets the location of this software system.- Returns:
- a Location instance
-
setLocation
Sets the location of this software system.- Parameters:
location
- a Location instance
-
getContainers
Gets the set of containers within this software system.- Returns:
- a Set of Container objects
-
addContainer
Adds a container with the specified name.- Parameters:
name
- the name of the container (e.g. "Web Application")- Returns:
- the newly created Container instance added to the model (or null)
- Throws:
java.lang.IllegalArgumentException
- if a container with the same name exists already
-
addContainer
@Nonnull public Container addContainer(@Nonnull java.lang.String name, java.lang.String description)Adds a container with the specified name and description.- Parameters:
name
- the name of the container (e.g. "Web Application")description
- a short description/list of responsibilities- Returns:
- the newly created Container instance added to the model (or null)
- Throws:
java.lang.IllegalArgumentException
- if a container with the same name exists already
-
addContainer
@Nonnull public Container addContainer(@Nonnull java.lang.String name, java.lang.String description, java.lang.String technology)Adds a container with the specified name, description and technology.- Parameters:
name
- the name of the container (e.g. "Web Application")description
- a short description/list of responsibilitiestechnology
- the technology choice (e.g. "Spring MVC", "Java EE", etc)- Returns:
- the newly created Container instance added to the model (or null)
- Throws:
java.lang.IllegalArgumentException
- if a container with the same name exists already
-
getContainerWithName
Gets the container with the specified name.- Parameters:
name
- the name of theContainer
- Returns:
- the Container instance with the specified name, or null if it doesn't exist
- Throws:
java.lang.IllegalArgumentException
- if the name is null or empty
-
getContainerWithId
Gets the container with the specified ID.- Parameters:
id
- theModelItem.getId()
of the container- Returns:
- the Container instance with the specified ID, or null if it doesn't exist
- Throws:
java.lang.IllegalArgumentException
- if the ID is null or empty
-
getCanonicalName
public java.lang.String getCanonicalName()Gets the canonical name of this software system, in the form "/Software System".- Specified by:
getCanonicalName
in classModelItem
- Returns:
- the canonical name, as a String
-
getRequiredTags
protected java.util.Set<java.lang.String> getRequiredTags()- Specified by:
getRequiredTags
in classModelItem
-