我创建了一个注解,将它应用到一个 DTO 并编写了一个 Java 1.6 风格的注解处理器。我可以看到如何让 annotationProcessor 编写一个新的源文件,这不是我想要做的,我看不到或知道如何让它修改现有的类(理想情况下只是修改字节码)。修改实际上是相当微不足道的,我希望处理器做的就是插入一个新的 getter 和 setter,其中名称来自正在处理的注释的值。
我的注释处理器看起来像这样;
@SupportedSourceVersion(SourceVersion.RELEASE_6)
@SupportedAnnotationTypes({ "com.kn.salog.annotation.AggregateField" })
public class SalogDTOAnnotationProcessor extends AbstractProcessor {
@Override
public boolean process(final Set<? extends TypeElement> annotations, final RoundEnvironment roundEnv) {
//do some stuff
}
}