package br.com.caelum.stella.faces.validation;
import javax.el.ELContext;
import javax.el.ValueExpression;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.webapp.ValidatorELTag;
import javax.servlet.jsp.JspException;
/**
* Associa um TLD (Descritor de Biblioteca de Tag) a um validador de CPF
* (@link{StellaCPFValidator}).
*
* @author Caires V.
* @author Leonardo Bessa
*/
@SuppressWarnings("serial")
public class StellaCPFValidatorTag extends ValidatorELTag {
private boolean formatted;
public StellaCPFValidatorTag() {
super.setId(StellaCPFValidator.VALIDATOR_ID);
}
/**
* @return StellaCPFValidator
*/
@Override
protected Validator createValidator() throws JspException {
StellaCPFValidator validator = new StellaCPFValidator();
validator.setFormatted(this.formatted);
return validator;
}
public void setFormatted(ValueExpression formatted) {
ELContext elContext = FacesContext.getCurrentInstance().getELContext();
this.formatted = (Boolean) formatted.getValue(elContext);
}
public void release() {
super.release();
this.formatted = false;
}
}