Как я могу использовать Byte Buddy для добавления аннотации с заданным значением?
Я играю с созданием тестовых классов для JUnit, и я хотел бы аннотировать сгенерированный класс с помощью @RunWith(SomeRunner.class)
.
Как я могу использовать Byte Buddy для добавления аннотации с заданным значением?
Я играю с созданием тестовых классов для JUnit, и я хотел бы аннотировать сгенерированный класс с помощью @RunWith(SomeRunner.class)
.
Вы можете аннотировать класс в свободном API:
new ByteBuddy()
.subclass(Object.class)
.annotateType(AnnotationDescription.Builder.ofType(RunWith.class)
.define("value", SomeRunner.class)
.build())
.make();
В качестве альтернативы AnnotationDescription.Builder
вы также можете передать загруженную аннотацию, конструктор автоматически преобразует ее во внутренний формат описания.