#annotations #plantuml
#аннотации #plantuml
Вопрос:
Я хочу написать аннотацию с элементами в PlantUML. В частности, я хочу описать этот Java-код в PlantUML:
public @interface Foo {
String bar();
String baz();
}
Я попытался написать это на PlantUML, но это вызывает синтаксическую ошибку:
@startuml
annotation Foo {
String bar()
String baz()
}
@enduml
Тем не менее, это работает, когда я опускаю членов:
@startuml
annotation Foo
@enduml
Что мне делать? Спасибо.
Ответ №1:
В PlantUML аннотации не могут иметь членов (отсюда синтаксическая ошибка).
Чтобы отобразить диаграмму UML для вашего кода, вам нужно будет использовать другое решение, например, добавить аннотацию как отдельный объект:
@startuml
annotation interface
class Foo {
String bar();
String baz();
}
interface -- Foo
@enduml
Или включить аннотацию в определение имени класса:
@startuml
class "@interface Foo" as Foo {
String bar();
String baz();
}
@enduml
Комментарии:
1. Благодарим вас за подтверждение того, что PlantUML не поддерживает аннотации с элементами. Я отправил заявку на github.com/plantuml/plantuml/issues/458 .
Ответ №2:
Теперь можно писать аннотации с элементами: http://www.plantuml.com/plantuml/uml/SoWkIImgAStDuKhCoyilIIp9pCzJSClFLwZcKW22u9AYpBnqXQJ48WrDL84ge40jbqDgNWfGCm00
Согласно комментарию, он доступен начиная с версии V1.2020.2.