Can';t仅为枚举创建通用javax验证程序

Can';t仅为枚举创建通用javax验证程序,java,validation,generics,enums,Java,Validation,Generics,Enums,我正在尝试为枚举字段定义一个尽可能通用的验证注释(即,仅处理枚举字段类型和所有类型的枚举) 目标是拥有一个只授权枚举中某些值的注释 我是这样创建注释的: @Target({FIELD}) @保留(运行时) @记录 @约束(validatedBy={EnumRestrientValidator.class}) public@interface枚举限制{ 字符串消息()默认值“字段值不包括在授权值中。”; 字符串[]authorizedFields()默认值{}; 类[]组()默认值{}; 类别>

我正在尝试为枚举字段定义一个尽可能通用的验证注释(即,仅处理枚举字段类型和所有类型的枚举)

目标是拥有一个只授权枚举中某些值的注释

我是这样创建注释的:

@Target({FIELD})
@保留(运行时)
@记录
@约束(validatedBy={EnumRestrientValidator.class})
public@interface枚举限制{
字符串消息()默认值“字段值不包括在授权值中。”;
字符串[]authorizedFields()默认值{};
类[]组()默认值{};
类别>

是否可以像我打算的那样使用通用验证器?还是我必须在注释参数中传递枚举类型?

我已经成功创建了一个装饰器,可以验证枚举变量的值是否在给定的枚举值范围内

结果在上。

尝试查看
@EnumRestreint(authorizedValues = { "BANANA", "APPLE" })
private Fruits value; // validator should break if value == Fruits.ORANGE
@Constraint(validatedBy = { EnumRestreintValidator.class })
// Type mismatch: cannot convert from Class<EnumRestreintValidator> to Class<? extends ConstraintValidator<?,?>>