我不明白如何在注释处理器中检索枚举值。
我的注解是一个自定义的 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
但是我想获得该枚举的所有名称,有人可以帮助我吗?
编辑:我无权访问此枚举的 Class 对象,因为我们在注释处理器中,而不是在标准 Java 反射代码中。所以我不能打电话Class#getEnumConstants()
,或者EnumSet.allOf(MyEnum.class)
除非你告诉我如何从上面提到的类型中获取 Class 对象。