在哪里可以找到NotNull java注释

时间:2014-11-27 10:21:36

标签: java groovy null annotations

我搜索了一个@NotNull java注释,并从javax找到了一个。我尝试使用它但遇到了同样的issues described here。简而言之:我需要设置一些东西来使它工作 - 但我实际上并不需要所有这些(我在普通的Java / Groovy上下文中,没有JavaEE)。是否有替代上述注释可以单独工作,在哪里可以找到它们?

2 个答案:

答案 0 :(得分:2)

椭圆形可以帮助你解决这个问题。

http://mvnrepository.com/artifact/net.sf.oval/oval/1.31下载jar并查看此处的文档http://oval.sourceforge.net/

例如:

import net.sf.oval.constraint.MaxLength;
import net.sf.oval.constraint.NotEmpty;
import net.sf.oval.constraint.NotNull;

public class Request {
@NotNull
@NotEmpty
@MaxLength(value = 30)
private String id;
//.....getters setters......
}

以上将是你的pojo

/**
* Method returns if valid request or not
*/
private boolean isValid(Request request) {
List<ConstraintViolation> violations = validator.validate(request);

if (violations.size() > 0) {
    return false;
} else {
    return true;
}
}

并将进行上述验证。

您还可以在线找到更多示例。

答案 1 :(得分:0)

你可以使用groovy完全正确的验证。有hibernate-validator实现。 e.g。

@Grapes([
        @Grab('javax.validation:validation-api:1.1.0.Final'),
        @Grab('org.glassfish:javax.el:3.0.0'),
        @Grab('org.hibernate:hibernate-validator:5.1.3.Final'),
        ])

import javax.validation.*
import javax.validation.constraints.*

class Pogo {
    @NotNull
    String name

    @NotNull
    @Min(1L)
    Long size
}

def validator = Validation.buildDefaultValidatorFactory().getValidator()
println validator.validate(new Pogo()).collect{ "Error on $it.propertyPath: $it.message" }
//; [Error on name: may not be null, Error on size: may not be null]
println validator.validate(new Pogo(name:"x", size:0)).collect{ "Error on $it.propertyPath: $it.message" }
//; [Error on size: must be greater than or equal to 1]