2014-11-27 4 views
2

Я искал аннотация java анкеты @NotNull и нашел один из javax. Я попытался использовать его, но столкнулся с тем же issues described here. Короче: мне нужно настроить некоторые вещи, чтобы заставить их работать, но мне на самом деле не нужно все это (я в простом контексте Java/Groovy, без JavaEE). Существуют ли альтернативы упомянутой аннотации, которые работают автономно, где их найти?Где найти аннотацию NotNull java

+0

Здесь вы можете найти ответы на это http://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use –

ответ

2

Оваль может помочь вам с этим.

скачать баночка из http://mvnrepository.com/artifact/net.sf.oval/oval/1.31 и посмотреть документацию здесь 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; 
} 
} 

и будет делать проверку, как и выше.

Вы также можете найти еще много примеров в Интернете.

0

Вы можете использовать проверку достаточно хорошо, просто с groovy. Существует реализация hibernate-validator. например

@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] 
Смежные вопросы