# 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"
}
```
