Аннотация - Считывание значения элемента во время сборки

Можно ли прочитать значение элемента аннотации во время сборки ? Например, если у меня определена следующая аннотация:

public @interface State {
    String stage();
}

и я аннотирую метод в классе, например:

public class Foo {
   @State(stage = "build")
   public String doSomething() {
      return "doing something";
   }
}

Как я могу прочитать значение элемента аннотации @State 'stage' во время сборки в обработчике аннотаций? У меня есть процессор, построенный следующим образом:

@SupportedAnnotationTypes(value = {"State"})
@SupportedSourceVersion(SourceVersion.RELEASE_6)
public class StageProcessor extends AbstractProcessor { 
    @Override
    public boolean process(Set<? extends TypeElement> elementTypes,
            RoundEnvironment roundEnv) {
        for (Element element : roundEnv.getRootElements()) {
               // ... logic to read the value of element 'stage' from
               // annotation 'State' in here.
        }
        return true;
    }
}
6
задан Joeblackdev 15 June 2011 в 13:19
поделиться