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 SectionaddArchitecturalDecisionsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds an "Architectural Decisions" section relating to aSoftwareSystem.SectionaddArchitecturalDecisionsSection(SoftwareSystem softwareSystem, java.io.File... files)Adds an "Architectural Decisions" section relating to aSoftwareSystemfrom one or more files.SectionaddBuildingBlockViewSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Building Block View" section relating to aSoftwareSystem.SectionaddBuildingBlockViewSection(SoftwareSystem softwareSystem, java.io.File... files)Adds a "Building Block View" section relating to aSoftwareSystemfrom one or more files.SectionaddConstraintsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Constraints" section relating to aSoftwareSystem.SectionaddConstraintsSection(SoftwareSystem softwareSystem, java.io.File... files)Adds a "Constraints" section relating to aSoftwareSystemfrom one or more files.SectionaddContextAndScopeSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Context and Scope" section relating to aSoftwareSystem.SectionaddContextAndScopeSection(SoftwareSystem softwareSystem, java.io.File... files)Adds a "Context and Scope" section relating to aSoftwareSystemfrom one or more files.SectionaddCrosscuttingConceptsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Crosscutting Concepts" section relating to aSoftwareSystem.SectionaddCrosscuttingConceptsSection(SoftwareSystem softwareSystem, java.io.File... files)Adds a "Crosscutting Concepts" section relating to aSoftwareSystemfrom one or more files.SectionaddDeploymentViewSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Deployment View" section relating to aSoftwareSystem.SectionaddDeploymentViewSection(SoftwareSystem softwareSystem, java.io.File... files)Adds a "Deployment View" section relating to aSoftwareSystemfrom one or more files.SectionaddGlossarySection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Glossary" section relating to aSoftwareSystem.SectionaddGlossarySection(SoftwareSystem softwareSystem, java.io.File... files)Adds a "Glossary" section relating to aSoftwareSystemfrom one or more files.SectionaddIntroductionAndGoalsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Introduction and Goals" section relating to aSoftwareSystem.SectionaddIntroductionAndGoalsSection(SoftwareSystem softwareSystem, java.io.File... files)Adds a "Introduction and Goals" section relating to aSoftwareSystemfrom one or more files.SectionaddQualityRequirementsSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Quality Requirements" section relating to aSoftwareSystem.SectionaddQualityRequirementsSection(SoftwareSystem softwareSystem, java.io.File... files)Adds a "Quality Requirements" section relating to aSoftwareSystemfrom one or more files.SectionaddRisksAndTechnicalDebtSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Risks and Technical Debt" section relating to aSoftwareSystem.SectionaddRisksAndTechnicalDebtSection(SoftwareSystem softwareSystem, java.io.File... files)Adds a "Risks and Technical Debt" section relating to aSoftwareSystemfrom one or more files.SectionaddRuntimeViewSection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Runtime View" section relating to aSoftwareSystem.SectionaddRuntimeViewSection(SoftwareSystem softwareSystem, java.io.File... files)Adds a "Runtime View" section relating to aSoftwareSystemfrom one or more files.SectionaddSolutionStrategySection(SoftwareSystem softwareSystem, Format format, java.lang.String content)Adds a "Solution Strategy" section relating to aSoftwareSystem.SectionaddSolutionStrategySection(SoftwareSystem softwareSystem, java.io.File... files)Adds a "Solution Strategy" section relating to aSoftwareSystemfrom one or more files.protected TemplateMetadatagetMetadata()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 aSoftwareSystemfrom one or more files.- Parameters:
softwareSystem- theSoftwareSystemthe 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- theSoftwareSystemthe documentation content relates toformat- theFormatof 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 aSoftwareSystemfrom one or more files.- Parameters:
softwareSystem- theSoftwareSystemthe 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- theSoftwareSystemthe documentation content relates toformat- theFormatof 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 aSoftwareSystemfrom one or more files.- Parameters:
softwareSystem- theSoftwareSystemthe 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- theSoftwareSystemthe documentation content relates toformat- theFormatof 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 aSoftwareSystemfrom one or more files.- Parameters:
softwareSystem- theSoftwareSystemthe 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- theSoftwareSystemthe documentation content relates toformat- theFormatof 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 aSoftwareSystemfrom one or more files.- Parameters:
softwareSystem- theSoftwareSystemthe 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- theSoftwareSystemthe documentation content relates toformat- theFormatof 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 aSoftwareSystemfrom one or more files.- Parameters:
softwareSystem- theSoftwareSystemthe 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- theSoftwareSystemthe documentation content relates toformat- theFormatof 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 aSoftwareSystemfrom one or more files.- Parameters:
softwareSystem- theSoftwareSystemthe 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- theSoftwareSystemthe documentation content relates toformat- theFormatof 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 aSoftwareSystemfrom one or more files.- Parameters:
softwareSystem- theSoftwareSystemthe 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- theSoftwareSystemthe documentation content relates toformat- theFormatof 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 aSoftwareSystemfrom one or more files.- Parameters:
softwareSystem- theSoftwareSystemthe 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- theSoftwareSystemthe documentation content relates toformat- theFormatof 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 aSoftwareSystemfrom one or more files.- Parameters:
softwareSystem- theSoftwareSystemthe 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- theSoftwareSystemthe documentation content relates toformat- theFormatof 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 aSoftwareSystemfrom one or more files.- Parameters:
softwareSystem- theSoftwareSystemthe 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- theSoftwareSystemthe documentation content relates toformat- theFormatof 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 aSoftwareSystemfrom one or more files.- Parameters:
softwareSystem- theSoftwareSystemthe 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- theSoftwareSystemthe documentation content relates toformat- theFormatof the documentation contentcontent- a String containing the documentation content- Returns:
- a documentation
Section
-
getMetadata
Description copied from class:DocumentationTemplateGets the metadata associated with this template.- Specified by:
getMetadatain classDocumentationTemplate- Returns:
- a TemplateMetadata object, or null if there is none
-