Package com.structurizr.model
Class StaticStructureElement
java.lang.Object
com.structurizr.model.ModelItem
com.structurizr.model.Element
com.structurizr.model.GroupableElement
com.structurizr.model.StaticStructureElement
- Direct Known Subclasses:
Component
,Container
,Person
,SoftwareSystem
public abstract class StaticStructureElement extends GroupableElement
This is the superclass for model elements that describe the static structure
of a software system, namely Person, SoftwareSystem, Container and Component.
-
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.Relationship
delivers(Person destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle, java.lang.String[] tags)
Adds a unidirectional relationship between this element and a person.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(Component 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 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(Container 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 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(SoftwareSystem 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 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
getDescription, getEfferentRelationshipsWith, getEfferentRelationshipWith, getEfferentRelationshipWith, getModel, getName, getParent, getRelationships, hasAfferentRelationships, hasEfferentRelationshipWith, hasEfferentRelationshipWith, setDescription, setModel, toString, uses, uses, uses
Methods inherited from class com.structurizr.model.ModelItem
addPerspective, addProperty, addTags, getCanonicalName, getId, getOriginId, getPerspectives, getProperties, getRequiredTags, getTags, getTagsAsSet, getUrl, hasTag, removeTag, setUrl
-
Method Details
-
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
@Nullable public Relationship uses(@Nonnull SoftwareSystem 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 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)tags
- an array of tags- 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
@Nullable public Relationship uses(@Nonnull Container 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 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)tags
- an array of tags- 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
-
uses
@Nullable public Relationship uses(@Nonnull Component 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 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)tags
- an array of tags- 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
-
delivers
@Nullable public Relationship delivers(@Nonnull Person destination, java.lang.String description, java.lang.String technology, InteractionStyle interactionStyle, java.lang.String[] tags)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)tags
- an array of tags- 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
-