Ich verstehe nicht, wie ich die Enum-Werte in einem Annotationsprozessor abrufen kann.Annotationsprozessor: Alle Enum-Werte aus einem TypeMirror oder TypeElement abrufen
Meine Anmerkung ist eine benutzerdefinierte Java Bean Validation Anmerkung:
@StringEnumeration(enumClass = UserCivility.class)
private String civility;
Auf meinem Annotation-Prozessor, kann ich auf Instanzen von diesem Zugang:
javax.lang.model.element.AnnotationValue
javax.lang.model.type.TypeMirror
javax.lang.model.element.TypeElement
Ich weiß, es enthält die Daten über meine Enum seit ich das im Debug-Modus sehen kann. Ich sehe auch ElementKind == Enum
Aber ich möchte alle Namen für diese Enum bekommen, kann mir bitte jemand helfen.
Edit: Ich habe keinen Zugriff auf das Klassenobjekt dieser Enum, weil wir in einer Anmerkung Prozessor sind, und nicht in standart Java Reflexion Code. Also kann ich nicht Class#getEnumConstants()
oder EnumSet.allOf(MyEnum.class)
aufrufen, wenn Sie mir sagen, wie ich das Klassenobjekt von den oben genannten Typen erhalten kann.
jemand eine Idee? –