33 lines
871 B
Java
33 lines
871 B
Java
package kiz.app.common;
|
|
|
|
import java.util.Set;
|
|
|
|
import javax.validation.ConstraintViolation;
|
|
import javax.validation.ConstraintViolationException;
|
|
import javax.validation.Validation;
|
|
import javax.validation.ValidatorFactory;
|
|
import javax.validation.Validator;
|
|
|
|
public abstract class SelfValidating<T> {
|
|
|
|
private Validator validator;
|
|
private static ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
|
|
|
|
public SelfValidating() {
|
|
validator = factory.getValidator();
|
|
}
|
|
|
|
/**
|
|
* Evaluates all Bean Validations on the attributes of this
|
|
* instance.
|
|
*/
|
|
@SuppressWarnings("unchecked")
|
|
protected void validateSelf() {
|
|
Set<ConstraintViolation<T>> violations = validator.validate((T) this);
|
|
if (!violations.isEmpty()) {
|
|
throw new ConstraintViolationException(violations);
|
|
}
|
|
}
|
|
|
|
}
|