我可以在注释上使用BeanValidation吗?

时间:2015-12-31 03:35:53

标签: java annotations bean-validation annotation-processing

我正在研究注释处理器并且变得很好奇。

注释这样并在注释处理器中验证是否有意义?

@Retention(value = RUNTIME)
@Target(value = {FIELD, METHOD, PARAMETER})
public @interface BitProperty {

    @Min(1)
    @Max(31)
    int scale() default 31;
}

1 个答案:

答案 0 :(得分:1)

我甚至不确定这应该怎么做?你的期望是什么?当注释处理器运行时,您希望进行验证并且带有无效参数值的注释(例如scale > 31)会抛出约束违例异常,而这又会中止注释处理?

这里最大的问题是注释处理器不处理Annotation实例,而是使用AnnotationMirrowjavax.lang.model.element包中的其他类。 Bean Validation和Hibernate Validator不适用于此反射API。所以,不是,它不会起作用。