Package com.structurizr.documentation
Class Arc42DocumentationTemplate
java.lang.Object
com.structurizr.documentation.DocumentationTemplate
com.structurizr.documentation.Arc42DocumentationTemplate
public class Arc42DocumentationTemplate extends DocumentationTemplate
An implementation of the arc42 documentation template, consisting of the following sections:
- Introduction and Goals (1)
- Constraints (2)
- Context and Scope (2)
- Solution Strategy (3)
- Building Block View (3)
- Runtime View (3)
- Deployment View (3)
- Crosscutting Concepts (3)
- Architectural Decisions (3)
- Quality Requirements (2)
- Risks and Technical Debt (4)
- Glossary (5)
The number in parentheses () represents the grouping, which is simply used to colour code section navigation buttons when rendered.
-
Constructor Summary
Constructors Constructor Description Arc42DocumentationTemplate(Workspace workspace)
-
Method Summary
Modifier and Type Method Description Section
addArchitecturalDecisionsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)
Adds an "Architectural Decisions" section relating to aSoftwareSystem
.Section
addArchitecturalDecisionsSection(SoftwareSystem softwareSystem, java.io.File... files)
Adds an "Architectural Decisions" section relating to aSoftwareSystem
from one or more files.Section
addBuildingBlockViewSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)
Adds a "Building Block View" section relating to aSoftwareSystem
.Section
addBuildingBlockViewSection(SoftwareSystem softwareSystem, java.io.File... files)
Adds a "Building Block View" section relating to aSoftwareSystem
from one or more files.Section
addConstraintsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)
Adds a "Constraints" section relating to aSoftwareSystem
.Section
addConstraintsSection(SoftwareSystem softwareSystem, java.io.File... files)
Adds a "Constraints" section relating to aSoftwareSystem
from one or more files.Section
addContextAndScopeSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)
Adds a "Context and Scope" section relating to aSoftwareSystem
.Section
addContextAndScopeSection(SoftwareSystem softwareSystem, java.io.File... files)
Adds a "Context and Scope" section relating to aSoftwareSystem
from one or more files.Section
addCrosscuttingConceptsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)
Adds a "Crosscutting Concepts" section relating to aSoftwareSystem
.Section
addCrosscuttingConceptsSection(SoftwareSystem softwareSystem, java.io.File... files)
Adds a "Crosscutting Concepts" section relating to aSoftwareSystem
from one or more files.Section
addDeploymentViewSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)
Adds a "Deployment View" section relating to aSoftwareSystem
.Section
addDeploymentViewSection(SoftwareSystem softwareSystem, java.io.File... files)
Adds a "Deployment View" section relating to aSoftwareSystem
from one or more files.Section
addGlossarySection(SoftwareSystem softwareSystem, Format format, java.lang.String content)
Adds a "Glossary" section relating to aSoftwareSystem
.Section
addGlossarySection(SoftwareSystem softwareSystem, java.io.File... files)
Adds a "Glossary" section relating to aSoftwareSystem
from one or more files.Section
addIntroductionAndGoalsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)
Adds a "Introduction and Goals" section relating to aSoftwareSystem
.Section
addIntroductionAndGoalsSection(SoftwareSystem softwareSystem, java.io.File... files)
Adds a "Introduction and Goals" section relating to aSoftwareSystem
from one or more files.Section
addQualityRequirementsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)
Adds a "Quality Requirements" section relating to aSoftwareSystem
.Section
addQualityRequirementsSection(SoftwareSystem softwareSystem, java.io.File... files)
Adds a "Quality Requirements" section relating to aSoftwareSystem
from one or more files.Section
addRisksAndTechnicalDebtSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)
Adds a "Risks and Technical Debt" section relating to aSoftwareSystem
.Section
addRisksAndTechnicalDebtSection(SoftwareSystem softwareSystem, java.io.File... files)
Adds a "Risks and Technical Debt" section relating to aSoftwareSystem
from one or more files.Section
addRuntimeViewSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)
Adds a "Runtime View" section relating to aSoftwareSystem
.Section
addRuntimeViewSection(SoftwareSystem softwareSystem, java.io.File... files)
Adds a "Runtime View" section relating to aSoftwareSystem
from one or more files.Section
addSolutionStrategySection(SoftwareSystem softwareSystem, Format format, java.lang.String content)
Adds a "Solution Strategy" section relating to aSoftwareSystem
.Section
addSolutionStrategySection(SoftwareSystem softwareSystem, java.io.File... files)
Adds a "Solution Strategy" section relating to aSoftwareSystem
from one or more files.protected TemplateMetadata
getMetadata()
Gets the metadata associated with this template.Methods inherited from class com.structurizr.documentation.DocumentationTemplate
addImage, addImages, addSection, addSection, addSection, addSection, addSection, addSection, addSection, addSection
-
Constructor Details
-
Method Details
-
addIntroductionAndGoalsSection
public Section addIntroductionAndGoalsSection(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOExceptionAdds a "Introduction and Goals" section relating to aSoftwareSystem
from one or more files.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates tofiles
- one or more File objects that point to the documentation content- Returns:
- a documentation
Section
- Throws:
java.io.IOException
- if there is an error reading the files
-
addIntroductionAndGoalsSection
public Section addIntroductionAndGoalsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Introduction and Goals" section relating to aSoftwareSystem
.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates toformat
- theFormat
of the documentation contentcontent
- a String containing the documentation content- Returns:
- a documentation
Section
-
addConstraintsSection
public Section addConstraintsSection(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOExceptionAdds a "Constraints" section relating to aSoftwareSystem
from one or more files.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates tofiles
- one or more File objects that point to the documentation content- Returns:
- a documentation
Section
- Throws:
java.io.IOException
- if there is an error reading the files
-
addConstraintsSection
public Section addConstraintsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Constraints" section relating to aSoftwareSystem
.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates toformat
- theFormat
of the documentation contentcontent
- a String containing the documentation content- Returns:
- a documentation
Section
-
addContextAndScopeSection
public Section addContextAndScopeSection(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOExceptionAdds a "Context and Scope" section relating to aSoftwareSystem
from one or more files.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates tofiles
- one or more File objects that point to the documentation content- Returns:
- a documentation
Section
- Throws:
java.io.IOException
- if there is an error reading the files
-
addContextAndScopeSection
public Section addContextAndScopeSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Context and Scope" section relating to aSoftwareSystem
.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates toformat
- theFormat
of the documentation contentcontent
- a String containing the documentation content- Returns:
- a documentation
Section
-
addSolutionStrategySection
public Section addSolutionStrategySection(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOExceptionAdds a "Solution Strategy" section relating to aSoftwareSystem
from one or more files.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates tofiles
- one or more File objects that point to the documentation content- Returns:
- a documentation
Section
- Throws:
java.io.IOException
- if there is an error reading the files
-
addSolutionStrategySection
public Section addSolutionStrategySection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Solution Strategy" section relating to aSoftwareSystem
.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates toformat
- theFormat
of the documentation contentcontent
- a String containing the documentation content- Returns:
- a documentation
Section
-
addBuildingBlockViewSection
public Section addBuildingBlockViewSection(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOExceptionAdds a "Building Block View" section relating to aSoftwareSystem
from one or more files.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates tofiles
- one or more File objects that point to the documentation content- Returns:
- a documentation
Section
- Throws:
java.io.IOException
- if there is an error reading the files
-
addBuildingBlockViewSection
public Section addBuildingBlockViewSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Building Block View" section relating to aSoftwareSystem
.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates toformat
- theFormat
of the documentation contentcontent
- a String containing the documentation content- Returns:
- a documentation
Section
-
addRuntimeViewSection
public Section addRuntimeViewSection(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOExceptionAdds a "Runtime View" section relating to aSoftwareSystem
from one or more files.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates tofiles
- one or more File objects that point to the documentation content- Returns:
- a documentation
Section
- Throws:
java.io.IOException
- if there is an error reading the files
-
addRuntimeViewSection
public Section addRuntimeViewSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Runtime View" section relating to aSoftwareSystem
.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates toformat
- theFormat
of the documentation contentcontent
- a String containing the documentation content- Returns:
- a documentation
Section
-
addDeploymentViewSection
public Section addDeploymentViewSection(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOExceptionAdds a "Deployment View" section relating to aSoftwareSystem
from one or more files.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates tofiles
- one or more File objects that point to the documentation content- Returns:
- a documentation
Section
- Throws:
java.io.IOException
- if there is an error reading the files
-
addDeploymentViewSection
public Section addDeploymentViewSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Deployment View" section relating to aSoftwareSystem
.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates toformat
- theFormat
of the documentation contentcontent
- a String containing the documentation content- Returns:
- a documentation
Section
-
addCrosscuttingConceptsSection
public Section addCrosscuttingConceptsSection(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOExceptionAdds a "Crosscutting Concepts" section relating to aSoftwareSystem
from one or more files.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates tofiles
- one or more File objects that point to the documentation content- Returns:
- a documentation
Section
- Throws:
java.io.IOException
- if there is an error reading the files
-
addCrosscuttingConceptsSection
public Section addCrosscuttingConceptsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Crosscutting Concepts" section relating to aSoftwareSystem
.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates toformat
- theFormat
of the documentation contentcontent
- a String containing the documentation content- Returns:
- a documentation
Section
-
addArchitecturalDecisionsSection
public Section addArchitecturalDecisionsSection(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOExceptionAdds an "Architectural Decisions" section relating to aSoftwareSystem
from one or more files.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates tofiles
- one or more File objects that point to the documentation content- Returns:
- a documentation
Section
- Throws:
java.io.IOException
- if there is an error reading the files
-
addArchitecturalDecisionsSection
public Section addArchitecturalDecisionsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds an "Architectural Decisions" section relating to aSoftwareSystem
.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates toformat
- theFormat
of the documentation contentcontent
- a String containing the documentation content- Returns:
- a documentation
Section
-
addQualityRequirementsSection
public Section addQualityRequirementsSection(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOExceptionAdds a "Quality Requirements" section relating to aSoftwareSystem
from one or more files.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates tofiles
- one or more File objects that point to the documentation content- Returns:
- a documentation
Section
- Throws:
java.io.IOException
- if there is an error reading the files
-
addQualityRequirementsSection
public Section addQualityRequirementsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Quality Requirements" section relating to aSoftwareSystem
.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates toformat
- theFormat
of the documentation contentcontent
- a String containing the documentation content- Returns:
- a documentation
Section
-
addRisksAndTechnicalDebtSection
public Section addRisksAndTechnicalDebtSection(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOExceptionAdds a "Risks and Technical Debt" section relating to aSoftwareSystem
from one or more files.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates tofiles
- one or more File objects that point to the documentation content- Returns:
- a documentation
Section
- Throws:
java.io.IOException
- if there is an error reading the files
-
addRisksAndTechnicalDebtSection
public Section addRisksAndTechnicalDebtSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Risks and Technical Debt" section relating to aSoftwareSystem
.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates toformat
- theFormat
of the documentation contentcontent
- a String containing the documentation content- Returns:
- a documentation
Section
-
addGlossarySection
public Section addGlossarySection(SoftwareSystem softwareSystem, java.io.File... files) throws java.io.IOExceptionAdds a "Glossary" section relating to aSoftwareSystem
from one or more files.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates tofiles
- one or more File objects that point to the documentation content- Returns:
- a documentation
Section
- Throws:
java.io.IOException
- if there is an error reading the files
-
addGlossarySection
public Section addGlossarySection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Glossary" section relating to aSoftwareSystem
.- Parameters:
softwareSystem
- theSoftwareSystem
the documentation content relates toformat
- theFormat
of the documentation contentcontent
- a String containing the documentation content- Returns:
- a documentation
Section
-
getMetadata
Description copied from class:DocumentationTemplate
Gets the metadata associated with this template.- Specified by:
getMetadata
in classDocumentationTemplate
- Returns:
- a TemplateMetadata object, or null if there is none
-