/*
* Copyright 2011-2012 Blazebit
*/
package com.blazebit.blazefaces.validator;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
/**
*
* @author Christian Beikov
*/
public abstract class AbstractDelegatingValidator implements Validator{
protected static final String VALIDATOR_ID = "validatorId";
@Override
public void validate(FacesContext facesContext, UIComponent uiComponent, Object value) throws ValidatorException {
String validatorId = (String) uiComponent.getAttributes().get(VALIDATOR_ID);
Validator validator = lookup(facesContext, validatorId);
validator.validate(facesContext, uiComponent, value);
}
protected Validator lookup(FacesContext facesContext, String validatorId) {
return facesContext.getApplication().createValidator(validatorId);
}
}