Package com.structurizr.model
Class StaticStructureElement
java.lang.Object
com.structurizr.model.ModelItem
com.structurizr.model.Element
com.structurizr.model.StaticStructureElement
- Direct Known Subclasses:
Component
,Container
,Person
,SoftwareSystem
public abstract class StaticStructureElement extends Element
This is the superclass for model elements that describe the static structure
of a software system, namely Person, SoftwareSystem, Container and Component.
-
Constructor Summary
Constructors Modifier Constructor Description protected
StaticStructureElement()
-
Method Summary
Modifier and Type Method Description Relationship
delivers(Person destination, java.lang.String description)
Adds a unidirectional relationship between this element and a person.Relationship
delivers(Person destination, java.lang.String description, java.lang.String technology)
Adds a unidirectional relationship between this element and a person.Relationship
delivers(Person destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle)
Adds a unidirectional relationship between this element and a person.java.lang.String
getGroup()
Gets the group in which this element should be included in (experimental feature).void
setGroup(java.lang.String group)
Sets the group in which this element should be included in (experimental feature).Relationship
uses(Component destination, java.lang.String description)
Adds a unidirectional "uses" style relationship between this element and component.Relationship
uses(Component destination, java.lang.String description, java.lang.String technology)
Adds a unidirectional "uses" style relationship between this element and a component.Relationship
uses(Component destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle)
Adds a unidirectional "uses" style relationship between this element and a component.Relationship
uses(Container destination, java.lang.String description)
Adds a unidirectional "uses" style relationship between this element and container.Relationship
uses(Container destination, java.lang.String description, java.lang.String technology)
Adds a unidirectional "uses" style relationship between this element and a container.Relationship
uses(Container destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle)
Adds a unidirectional "uses" style relationship between this element and a container.Relationship
uses(SoftwareSystem destination, java.lang.String description)
Adds a unidirectional "uses" style relationship between this element and software system.Relationship
uses(SoftwareSystem destination, java.lang.String description, java.lang.String technology)
Adds a unidirectional "uses" style relationship between this element and a software system.Relationship
uses(SoftwareSystem destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle)
Adds a unidirectional "uses" style relationship between this element and a software system.Relationship
uses(StaticStructureElement destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle)
Adds a unidirectional "uses" style relationship between this element and the specified element.Relationship
uses(StaticStructureElement destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle, java.lang.String[] tags)
Adds a unidirectional "uses" style relationship between this element and the specified element.Methods inherited from class com.structurizr.model.Element
getCanonicalName, getDescription, getEfferentRelationshipsWith, getEfferentRelationshipWith, getEfferentRelationshipWith, getModel, getName, getParent, getRelationships, hasAfferentRelationships, hasEfferentRelationshipWith, hasEfferentRelationshipWith, setDescription, setModel, toString
Methods inherited from class com.structurizr.model.ModelItem
addPerspective, addProperty, addTags, getId, getOriginId, getPerspectives, getProperties, getRequiredTags, getTags, getTagsAsSet, getUrl, hasTag, removeTag, setUrl
-
Constructor Details
-
StaticStructureElement
protected StaticStructureElement()
-
-
Method Details
-
getGroup
public java.lang.String getGroup()Gets the group in which this element should be included in (experimental feature).- Returns:
- the group name, or null if not set
-
setGroup
public void setGroup(java.lang.String group)Sets the group in which this element should be included in (experimental feature).- Parameters:
group
- the group name
-
uses
@Nullable public Relationship uses(@Nonnull SoftwareSystem destination, java.lang.String description)Adds a unidirectional "uses" style relationship between this element and software system.- Parameters:
destination
- the target of the relationshipdescription
- a description of the relationship (e.g. "uses", "gets data from", "sends data to")- Returns:
- the relationship that has just been created and added to the model
-
uses
@Nullable public Relationship uses(@Nonnull SoftwareSystem destination, java.lang.String description, java.lang.String technology)Adds a unidirectional "uses" style relationship between this element and a software system.- Parameters:
destination
- the target of the relationshipdescription
- a description of the relationship (e.g. "uses", "gets data from", "sends data to")technology
- the technology details (e.g. JSON/HTTPS)- Returns:
- the relationship that has just been created and added to the model
-
uses
@Nullable public Relationship uses(@Nonnull SoftwareSystem destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle)Adds a unidirectional "uses" style relationship between this element and a software system.- Parameters:
destination
- the target of the relationshipdescription
- a description of the relationship (e.g. "uses", "gets data from", "sends data to")technology
- the technology details (e.g. JSON/HTTPS)interactionStyle
- the interaction style (sync vs async)- Returns:
- the relationship that has just been created and added to the model
-
uses
Adds a unidirectional "uses" style relationship between this element and container.- Parameters:
destination
- the target of the relationshipdescription
- a description of the relationship (e.g. "uses", "gets data from", "sends data to")- Returns:
- the relationship that has just been created and added to the model
-
uses
@Nullable public Relationship uses(@Nonnull Container destination, java.lang.String description, java.lang.String technology)Adds a unidirectional "uses" style relationship between this element and a container.- Parameters:
destination
- the target of the relationshipdescription
- a description of the relationship (e.g. "uses", "gets data from", "sends data to")technology
- the technology details (e.g. JSON/HTTPS)- Returns:
- the relationship that has just been created and added to the model
-
uses
@Nullable public Relationship uses(@Nonnull Container destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle)Adds a unidirectional "uses" style relationship between this element and a container.- Parameters:
destination
- the target of the relationshipdescription
- a description of the relationship (e.g. "uses", "gets data from", "sends data to")technology
- the technology details (e.g. JSON/HTTPS)interactionStyle
- the interaction style (sync vs async)- Returns:
- the relationship that has just been created and added to the model
-
uses
Adds a unidirectional "uses" style relationship between this element and component.- Parameters:
destination
- the target of the relationshipdescription
- a description of the relationship (e.g. "uses", "gets data from", "sends data to")- Returns:
- the relationship that has just been created and added to the model
-
uses
@Nullable public Relationship uses(@Nonnull Component destination, java.lang.String description, java.lang.String technology)Adds a unidirectional "uses" style relationship between this element and a component.- Parameters:
destination
- the target of the relationshipdescription
- a description of the relationship (e.g. "uses", "gets data from", "sends data to")technology
- the technology details (e.g. JSON/HTTPS)- Returns:
- the relationship that has just been created and added to the model
-
uses
@Nullable public Relationship uses(@Nonnull Component destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle)Adds a unidirectional "uses" style relationship between this element and a component.- Parameters:
destination
- the target of the relationshipdescription
- a description of the relationship (e.g. "uses", "gets data from", "sends data to")technology
- the technology details (e.g. JSON/HTTPS)interactionStyle
- the interaction style (sync vs async)- Returns:
- the relationship that has just been created and added to the model
-
delivers
Adds a unidirectional relationship between this element and a person.- Parameters:
destination
- the target of the relationshipdescription
- a description of the relationship (e.g. "sends e-mail to")- Returns:
- the relationship that has just been created and added to the model
-
delivers
@Nullable public Relationship delivers(@Nonnull Person destination, java.lang.String description, java.lang.String technology)Adds a unidirectional relationship between this element and a person.- Parameters:
destination
- the target of the relationshipdescription
- a description of the relationship (e.g. "sends e-mail to")technology
- the technology details (e.g. JSON/HTTPS)- Returns:
- the relationship that has just been created and added to the model
-
delivers
@Nullable public Relationship delivers(@Nonnull Person destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle)Adds a unidirectional relationship between this element and a person.- Parameters:
destination
- the target of the relationshipdescription
- a description of the relationship (e.g. "sends e-mail to")technology
- the technology details (e.g. JSON/HTTPS)interactionStyle
- the interaction style (sync vs async)- Returns:
- the relationship that has just been created and added to the model
-
uses
@Nullable public Relationship uses(@Nonnull StaticStructureElement destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle)Adds a unidirectional "uses" style relationship between this element and the specified element.- Parameters:
destination
- the target of the relationshipdescription
- a description of the relationship (e.g. "uses", "gets data from", "sends data to")technology
- the technology details (e.g. JSON/HTTPS)interactionStyle
- the interaction style (sync vs async)- Returns:
- the relationship that has just been created and added to the model
-
uses
@Nullable public Relationship uses(@Nonnull StaticStructureElement destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle, java.lang.String[] tags)Adds a unidirectional "uses" style relationship between this element and the specified element.- Parameters:
destination
- the target of the relationshipdescription
- a description of the relationship (e.g. "uses", "gets data from", "sends data to")technology
- the technology details (e.g. JSON/HTTPS)interactionStyle
- the interaction style (sync vs async)tags
- an array of tags- Returns:
- the relationship that has just been created and added to the model
-