创建自定义Nullable注释

时间:2017-12-21 13:41:22

标签: java validation annotations auto-value

我想创建一个有效行为annotation的{​​{1}}。我需要这个的原因是我只需要在我的上下文中使用不同的名称。

问题是,我有一个字段必须充当javax.annotation.Nullable的{​​{1}}字段,这样如果值为{{1},它就不会自动生成抛出异常的代码}。同时,我需要将值Nullable用于JSR-303验证。

简单来说,我希望能够将我的对象构建为无效状态,然后将其传递给将对其执行某些操作的验证程序。我希望由AutoValue处理所有验证,这些验证将生成违规约束,而不会使我的程序崩溃,但异常。

所以我发现以下内容会做我想要的。

null

如果值不存在,这将导致NotNull不抛出异常,但Hibernate Validator仍将验证它不应为null。这里唯一的问题是" Nullable",我想称之为" AutoValueNullable"。

我将如何重塑" Nullable,还是有开源代码?

1 个答案:

答案 0 :(得分:0)

尝试使用jetbrain的@Contract注释

@org.jetbrains.annotations.Contract("null->false")
public static boolean isDigits(@Nullable String str) {
boolean result = false;
//TODO: ...method implementation
return result;
}