Skip to content

structurizr/java

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Structurizr

Structurizr for Java

This GitHub repository is (1) a client library for the Structurizr cloud service and on-premises installation and (2) a way to create a Structurizr workspace using Java code. Looking for the Structurizr DSL instead?

A quick example

As an example, the following Java code can be used to create a software architecture model and an associated view that describes a user using a software system, based upon the C4 model.

public static void main(String[] args) throws Exception {
    Workspace workspace = new Workspace("Getting Started", "This is a model of my software system.");
    Model model = workspace.getModel();
    
    Person user = model.addPerson("User", "A user of my software system.");
    SoftwareSystem softwareSystem = model.addSoftwareSystem("Software System", "My software system.");
    user.uses(softwareSystem, "Uses");
    
    ViewSet views = workspace.getViews();
    SystemContextView contextView = views.createSystemContextView(softwareSystem, "SystemContext", "An example of a System Context diagram.");
    contextView.addAllSoftwareSystems();
    contextView.addAllPeople();
}

The view can then be exported to be visualised using the Structurizr cloud service/on-premises installation/Lite, or other formats including PlantUML, Mermaid, DOT, and WebSequenceDiagrams via the structurizr-export library.

Table of contents