From 754721b740a3296345463cec32bfce08be0cb548 Mon Sep 17 00:00:00 2001 From: Chris Charabaruk Date: Fri, 9 Nov 2018 21:50:45 -0500 Subject: [PATCH] Add database macros for system, container, and component Add the ability to use the PlantUML `database` shape for systems (including external systems), containers, and components. The following macros have been added: - `SystemDb` - `SystemDb_Ext` - `ContainerDb` - `ComponentDb` These macros take the same parameters as their regular counterparts. --- C4_Component.puml | 10 ++++++++++ C4_Container.puml | 10 ++++++++++ C4_Context.puml | 20 ++++++++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/C4_Component.puml b/C4_Component.puml index a85761f..40a8a24 100644 --- a/C4_Component.puml +++ b/C4_Component.puml @@ -22,6 +22,13 @@ skinparam rectangle<> { BorderColor #78A8D8 } +skinparam database<> { + StereotypeFontColor ELEMENT_FONT_COLOR + FontColor #000000 + BackgroundColor COMPONENT_BG_COLOR + BorderColor #78A8D8 +} + ' Layout ' ################################## @@ -43,3 +50,6 @@ endlegend !define Component(e_alias, e_label, e_techn) rectangle "==e_label\n//[e_techn]//" <> as e_alias !define Component(e_alias, e_label, e_techn, e_descr) rectangle "==e_label\n//[e_techn]//\n\n e_descr" <> as e_alias + +!define ComponentDb(e_alias, e_label, e_techn) database "==e_label\n//[e_techn]//" <> as e_alias +!define ComponentDb(e_alias, e_label, e_techn, e_descr) database "==e_label\n//[e_techn]//\n\n e_descr" <> as e_alias diff --git a/C4_Container.puml b/C4_Container.puml index e049a8c..2bc697c 100644 --- a/C4_Container.puml +++ b/C4_Container.puml @@ -22,6 +22,13 @@ skinparam rectangle<> { BorderColor #3C7FC0 } +skinparam database<> { + StereotypeFontColor ELEMENT_FONT_COLOR + FontColor ELEMENT_FONT_COLOR + BackgroundColor CONTAINER_BG_COLOR + BorderColor #3C7FC0 +} + ' Layout ' ################################## @@ -43,6 +50,9 @@ endlegend !define Container(e_alias, e_label, e_techn) rectangle "==e_label\n//[e_techn]//" <> as e_alias !define Container(e_alias, e_label, e_techn, e_descr) rectangle "==e_label\n//[e_techn]//\n\n e_descr" <> as e_alias +!define ContainerDb(e_alias, e_label, e_techn) database "==e_label\n//[e_techn]//" <> as e_alias +!define ContainerDb(e_alias, e_label, e_techn, e_descr) database "==e_label\n//[e_techn]//\n\n e_descr" <> as e_alias + ' Boundaries ' ################################## diff --git a/C4_Context.puml b/C4_Context.puml index 1ee01b5..a28a9cb 100644 --- a/C4_Context.puml +++ b/C4_Context.puml @@ -46,6 +46,20 @@ skinparam rectangle<> { BorderColor #8A8A8A } +skinparam database<> { + StereotypeFontColor ELEMENT_FONT_COLOR + FontColor ELEMENT_FONT_COLOR + BackgroundColor SYSTEM_BG_COLOR + BorderColor #3C7FC0 +} + +skinparam database<> { + StereotypeFontColor ELEMENT_FONT_COLOR + FontColor ELEMENT_FONT_COLOR + BackgroundColor EXTERNAL_SYSTEM_BG_COLOR + BorderColor #8A8A8A +} + ' Layout ' ################################## @@ -75,6 +89,12 @@ endlegend !define System_Ext(e_alias, e_label) rectangle "==e_label" <> as e_alias !define System_Ext(e_alias, e_label, e_descr) rectangle "==e_label\n\n e_descr" <> as e_alias +!define SystemDb(e_alias, e_label) database "==e_label" <> as e_alias +!define SystemDb(e_alias, e_label, e_descr) database "==e_label\n\n e_descr" <> as e_alias + +!define SystemDb_Ext(e_alias, e_label) database "==e_label" <> as e_alias +!define SystemDb_Ext(e_alias, e_label, e_descr) database "==e_label\n\n e_descr" <> as e_alias + ' Boundaries ' ##################################