# t30004 - PlantUML package decorators test case ## Config ```yaml compilation_database_dir: .. output_directory: puml diagrams: t30004_package: type: package glob: - ../../tests/t30004/t30004.cc include: namespaces: - clanguml::t30004 using_namespace: - clanguml::t30004 plantuml: before: - "' t30004 test package diagram" ``` ## Source code File t30004.cc ```cpp namespace clanguml { namespace t30004 { /// @uml{style[#green]} namespace A { /// @uml{note[ bottom ] Package AAA.} namespace AAA { } /// \uml{note[right] Package BBB.} namespace BBB { } /// /// @uml{note:t30004_package[bottom] CCCC package note.} /// This is package CCC. namespace CCC { } /// \uml{skip} namespace DDD { } /// @uml{style[#pink;line:red;line.bold;text:red]} /// \uml{note[top] We skipped DDD.} namespace EEE { } /// \uml{note[top] Another CCC note.} namespace CCC { } } } } ``` ## Generated UML diagrams ![t30004_package](./t30004_package.svg "PlantUML package decorators test case") ## Generated JSON models ```json { "diagram_type": "package", "elements": [ { "comment": { "formatted": "@uml{style[#green]}", "raw": "/// @uml{style[#green]}" }, "display_name": "clanguml::t30004::A", "elements": [ { "comment": { "formatted": "@uml{note[ bottom ] Package AAA.}", "raw": "/// @uml{note[ bottom ] Package AAA.}" }, "display_name": "clanguml::t30004::A::AAA", "id": "1517185300862579159", "is_deprecated": false, "name": "AAA", "source_location": { "file": "../../tests/t30004/t30004.cc", "line": 8 }, "type": "namespace" }, { "comment": { "formatted": "\\uml{note[right] Package BBB.}", "raw": "/// \\uml{note[right] Package BBB.}" }, "display_name": "clanguml::t30004::A::BBB", "id": "1982379087062354928", "is_deprecated": false, "name": "BBB", "source_location": { "file": "../../tests/t30004/t30004.cc", "line": 12 }, "type": "namespace" }, { "comment": { "formatted": "\n @uml{note:t30004_package[bottom] CCCC package note.}\n This is package CCC.", "raw": "///\n/// @uml{note:t30004_package[bottom] CCCC package note.}\n/// This is package CCC." }, "display_name": "clanguml::t30004::A::CCC", "id": "2304726195556701567", "is_deprecated": false, "name": "CCC", "source_location": { "file": "../../tests/t30004/t30004.cc", "line": 18 }, "type": "namespace" }, { "comment": { "formatted": "@uml{style[#pink;line:red;line.bold;text:red]}\n\\uml{note[top] We skipped DDD.}", "raw": "/// @uml{style[#pink;line:red;line.bold;text:red]}\n/// \\uml{note[top] We skipped DDD.}" }, "display_name": "clanguml::t30004::A::EEE", "id": "1084924732216290779", "is_deprecated": false, "name": "EEE", "source_location": { "file": "../../tests/t30004/t30004.cc", "line": 27 }, "type": "namespace" } ], "id": "33410665874039845", "is_deprecated": false, "name": "A", "source_location": { "file": "../../tests/t30004/t30004.cc", "line": 5 }, "type": "namespace" } ], "metadata": { "clang_uml_version": "0.3.5-27-g81c7ce7", "llvm_version": "Ubuntu clang version 15.0.6", "schema_version": 1 }, "name": "t30004_package", "relationships": [], "using_namespace": "clanguml::t30004" } ```