注釈プロセッサで Enum 値を取得する方法がわかりません。
私の注釈は、カスタム Java Bean Validation 注釈です。
@StringEnumeration(enumClass = UserCivility.class)
private String civility;
私の注釈プロセッサでは、次のインスタンスにアクセスできます。
javax.lang.model.element.AnnotationValue
javax.lang.model.type.TypeMirror
javax.lang.model.element.TypeElement
デバッグモードで見ることができるので、列挙型に関するデータが含まれていることがわかります。私も見るElementKind == Enum
しかし、その列挙型のすべての名前を取得したいのですが、誰か助けてください。
編集:この Enum の Class オブジェクトにはアクセスできません。これは、標準の Java リフレクション コードではなく、注釈プロセッサにいるためです。したがって、上記の型から Class オブジェクトを取得する方法を教えていただけない限り、Class#getEnumConstants()
orを呼び出すことはできません。EnumSet.allOf(MyEnum.class)