コンパイル時にAPTを使用して注釈を処理していますが@XmlElement
、一部のクラスで注釈の値を取得する必要があります。クラスは次のようになります。
public class ComponentConfig {
@XmlElements({
@XmlElement(type = Sample1.class, name = "sample-1-config"),
@XmlElement(type = Sample2.class, name = "sample-2-config"),
@XmlElement(type = Sample3.class, name = "sample-3-config"),
})
//...
}
name
の値を取得したいの@XmlElement
ですが、次のプロセッサコードでは取得できません。
List<? extends AnnotationMirror> annotationMirrors = element.getAnnotationMirrors();
for (AnnotationMirror mirror : annotationMirrors) {
if (mirror.getAnnotationType().toString().equals(XML_ELEMENT)) {
System.out.println(getAnnotationValueMapValueOfName(mirror));
nodes.add(getAnnotationValueMapValueOfName(mirror));
}
}