Multiple Annotations Test - Issue #6680 Fix
Testing: Multiple stereotypes/annotations should now render correctly using
external and inline annotation methods.
Baseline - no annotations
classDiagram
class Shape
class Circle
class Triangle
#0 Baseline - single annotation
classDiagram
class Shape
class Circle
class Triangle
<<injected>> Shape
Method 1: External/Next-line Annotations
External annotations defined on the line after the class definition:
classDiagram
class Shape
<<interface>> <<injected>> Shape
class Circle
<<abstract>> <<serializable>> Circle
class Triangle
<<interface>> <<cached>> <<singleton>> Triangle
Method 2: Inline Annotations
Inline annotations defined directly with the class definition:
classDiagram
class Shape <<interface>> <<injected>>
class Circle <<abstract>> <<serializable>>
class Square <<service>> <<singleton>> <<cached>>
class Triangle <<interface>> <<component>> <<transient>>
Method 3: Mixed Methods Test
Combination of both external and inline annotation methods:
classDiagram
class Component <<interface>> <<injected>>
class Service
<<abstract>> <<singleton>> Service
class Repository <<dao>> <<cached>>
class Controller
<<rest>> <<secured>> Controller
Real-world Example
A practical example with relationships and multiple annotations:
classDiagram
class BaseService <<abstract>> <<injectable>>
class UserService <<service>> <<singleton>>
class UserRepository <<repository>> <<cached>>
class UserController
<<controller>> <<secured>> UserController
BaseService <|-- UserService
UserService --> UserRepository
UserController --> UserService