JCodeModel Создать аннотацию - PullRequest
0 голосов
/ 28 февраля 2019

Привет, я относительно новичок в JCodeModel.У меня есть следующая аннотация над моим классом

@JsonSubTypes({ @JsonSubTypes.Type(value = com.abc.MyClass.class, name = "MyClass")})
class MyClass {

}

Как я могу создать аннотацию для следующего с помощью JCodeModel.Спасибо.

1 Ответ

0 голосов
/ 23 апреля 2019

Просто аннотируйте ваш JClass и, чтобы добавить параметр массива, используйте метод paramArray():

JDefinedClass testClass = codeModel._class("MyClass");

JAnnotationUse jsonSubTypes = testClass.annotate(JsonSubTypes.class);

jsonSubTypes.paramArray("value")
    .annotate(JsonSubTypes.Type.class)
        .param("value", MyClass.class)
        .param("name", "MyClass");

Генерирует:

@JsonSubTypes({
    @JsonSubTypes.Type(value = MyClass.class, name = "MyClass")
})
public class MyClass {


}
...