-2
Может ли кто-нибудь предоставить мне фрагмент кода простого обработчика java-аннотации, который просто печатает «foo» при вызове метода процесса. Я работал на этом в течение 2-х дней, и я не смог получить, что далекоJava AnnotationProcessor исходный код
вот мой код:
public class ComplexityProcessor extends AbstractProcessor {
public ComplexityProcessor() {
super();
}
@Override
public boolean process(Set annotations,
RoundEnvironment roundEnv) {
String message = "annotation found in ";
processingEnv.getMessager().printMessage(javax.tools.Diagnostic.Kind.NOTE, message);
try {
JavaFileObject jfo = processingEnv.getFiler().createSourceFile("Foo");
BufferedWriter bw = new BufferedWriter(jfo.openWriter());
bw.append("Bar!!!");
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for (Element elem : roundEnv.getElementsAnnotatedWith(Complexity.class)) {
Complexity complexity = elem.getAnnotation(Complexity.class);
message = "annotation found in " + elem.getSimpleName()
+ " with complexity " + complexity.value();
processingEnv.getMessager().printMessage(javax.tools.Diagnostic.Kind.NOTE, message);
try {
JavaFileObject jfo = processingEnv.getFiler().createSourceFile("Foo");
BufferedWriter bw = new BufferedWriter(jfo.openWriter());
bw.append("Bar!!!");
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return true; // no further processing of this annotation type
}
Где ваш код? – Jeffrey
[Переполнение стека не является написанием кода, учебным пособием или консультационной службой] (http://meta.stackexchange.com/a/128553/172496) –
Здесь вы можете найти [учебник] (http: //www.javalobby. орг/Java/форум/t17876.html). – dash1e