| MandatoryValidator.java |
package com.demo.persistence.validator;
import java.io.Serializable;
import org.hibernate.validator.Validator;
import com.demo.persistence.validator.Mandatory;
/**
* An HibernateValidator class for the &Mandatory annotation. It ensures
* that the value is not null. The &NotNull and &NotEmpty annotations
* were not used because they will generate a
* org.hibernate.PropertyValueException instead of an
* org.hibernate.validator.InvalidStateException. The latter exceptions is
* desired since it will provide an array of InvalidValue.
*
*
* @author alexiaa
* @version $Revision: 2$
*/
public class MandatoryValidator
implements Validator<Mandatory>, Serializable {
/**
* Serial Version UID.
*/
private static final long serialVersionUID = -4278995218315807547L;
/**
*
* {@inheritDoc}
*
* @see org.hibernate.validator.Validator#initialize(java.lang.annotation.Annotation)
*/
@SuppressWarnings("unused")
public void initialize(Mandatory parameters) {
// no parameters
}
/**
* {@inheritDoc}
*
* @see org.hibernate.validator.Validator#isValid(java.lang.Object)
*/
public boolean isValid(Object value) {
// if the value is null return false
if (value == null) {
return false;
}
// if the value is a String it checks its length
if (value instanceof String) {
String stringValue = (String) value;
if (stringValue.trim().length() == 0) {
return false;
}
}
return true;
}
}