package constraints.validators; import java.util.Date; import javax.validation.ConstraintValidator; import constraints.BeforeDate; import play.Logger; import play.data.validation.Constraints; import play.libs.F.Tuple; /** * Validator used to check if field's date occurs after the date specified in dateToCompare parameter of @BeforeDate constraint. * * @author bartosz * */ public class BeforeDateValidator extends Constraints.Validator<Date> implements ConstraintValidator<BeforeDate, Date> { public static final String NOW = "now"; private Date dateToCompare; @Override public void initialize(BeforeDate annot) { if (annot.dateToCompare().equals(NOW)) { dateToCompare = new Date(); } } @Override public Tuple<String, Object[]> getErrorMessageKey() { // TODO : resolve generics warning return new Tuple("beforeDate", new Object() {}); } @Override public boolean isValid(Date toValid) { Logger.debug("Validating "+toValid); return toValid != null && toValid.before(dateToCompare); } }