rendered paste bodypackage com.loomis.jsf.component.keystrokevalidatedinput;
import java.io.IOException;
import javax.faces.context.FacesContext;
import javax.faces.el.MethodBinding;
import javax.faces.el.ValueBinding;
import javax.faces.render.Renderer;
import org.apache.myfaces.component.html.ext.HtmlInputText;
import org.apache.myfaces.custom.ajax.api.AjaxComponent;
import org.apache.myfaces.custom.ajax.api.AjaxRenderer;
public class KeyStrokeValidatedInput extends HtmlInputText implements AjaxComponent {
public static final String COMPONENT_TYPE = "com.loomis.jsf.component.KeyStrokeValidatedInput";
public static final String DEFAULT_RENDERER_TYPE = "com.loomis.jsf.component.KeyStrokeValidatedInputRenderer";
private MethodBinding validatorMethod;
private String idOfMessageDiv;
private Boolean ajaxEnabled;
public KeyStrokeValidatedInput() {
super();
setRendererType(DEFAULT_RENDERER_TYPE);
}
public Object saveState(FacesContext context) {
Object[] values = new Object[4];
values[0] = super.saveState(context);
values[1] = saveAttachedState(context, validatorMethod);
values[2] = idOfMessageDiv;
values[3] = ajaxEnabled;
return values;
}
public void restoreState(FacesContext context, Object state) {
Object values[] = (Object[])state;
super.restoreState(context, values[0]);
validatorMethod = (MethodBinding)restoreAttachedState(context, values[1]);
idOfMessageDiv = (String) values[2];
ajaxEnabled = (Boolean) values[3];
}
public void encodeAjax(FacesContext context) throws IOException {
if (context == null) throw new NullPointerException("context");
if (!isRendered()) return;
Renderer renderer = getRenderer(context);
if (renderer instanceof AjaxRenderer) {
((AjaxRenderer) renderer).encodeAjax(context, this);
}
}
public void decodeAjax(FacesContext arg0) {
}
public MethodBinding getValidatorMethod() {
return validatorMethod;
}
public void setValidatorMethod(MethodBinding validatorMethod) {
this.validatorMethod = validatorMethod;
}
public String getIdOfMessageDiv() {
if (idOfMessageDiv != null) return idOfMessageDiv;
ValueBinding vb = getValueBinding("idOfMessageDiv");
return vb != null ? vb.getValue(getFacesContext()).toString() : null;
}
public void setIdOfMessageDiv(String idOfMessageDiv) {
this.idOfMessageDiv = idOfMessageDiv;
}
public Boolean getAjaxEnabled() {
if (ajaxEnabled != null) return ajaxEnabled;
ValueBinding vb = getValueBinding("ajexEnabled");
return vb != null ? Boolean.valueOf(vb.getValue(getFacesContext()).toString()) : null;
}
public void setAjaxEnabled(Boolean ajaxEnabled) {
this.ajaxEnabled = ajaxEnabled;
}
}