package br.com.caelum.stella.bean.validation.logic; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import br.com.caelum.stella.bean.validation.CNPJ; import br.com.caelum.stella.validation.CNPJValidator; /** * Valida a cadeia gerada através do método {@linkplain #toString()} para * verificar se ela está de acordo com o padrão de CNPJ. * * @author Fabio Kung * @author Leonardo Bessa * @author David Paniz */ public class StellaCNPJValidator implements ConstraintValidator<CNPJ, String> { private CNPJValidator stellaValidator; public void initialize(CNPJ cnpj) { AnnotationMessageProducer messageProducer = new AnnotationMessageProducer(cnpj); stellaValidator = new CNPJValidator(messageProducer, cnpj.formatted()); } public boolean isValid(String cnpj, ConstraintValidatorContext context) { if (cnpj != null) { if (cnpj.trim().length() == 0) { return true; } else { return stellaValidator.invalidMessagesFor(cnpj).isEmpty(); } } else { return true; } } }