All pastes #90379 Raw Edit

Something

public java v1 · immutable
#90379 ·published 2006-07-17 16:58 UTC
rendered paste body
package org.apache.myfaces.custom.inputnumber;import java.io.IOException;import java.math.BigInteger;import java.util.Map;import javax.faces.component.UIComponent;import javax.faces.context.FacesContext;import javax.faces.convert.ConverterException;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.myfaces.renderkit.html.util.AddResource;import org.apache.myfaces.renderkit.html.util.AddResourceFactory;import org.apache.myfaces.shared_tomahawk.renderkit.JSFAttr;import org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils;import org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlRendererUtils;import org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTextRendererBase;public class HtmlInputNumberRenderer extends HtmlTextRendererBase {    private static final Log log = LogFactory.getLog(HtmlInputNumberRenderer.class);    public void encodeBegin(FacesContext context, UIComponent component) throws IOException    {        encodeJavascript(context, component);        super.encodeBegin(context, component);    }        public void encodeEnd(FacesContext context, UIComponent component) throws IOException    {        log.debug("encodeEnd in HtmlInputNumberRenderer");        RendererUtils.checkParamValidity(context, component, HtmlInputNumber.class);        if (HtmlRendererUtils.isDisplayValueOnly(component) || isDisabled(context, component))        {            super.encodeEnd(context, component);            return;        }        HtmlInputNumber comp = (HtmlInputNumber) component;        comp.setOnkeydown("return verifyKey(event, false);");        super.encodeEnd(context, component);    }           /**     * Encodes any stand-alone javascript functions that are needed.     * Uses either the extension filter, or a     * user-supplied location for the javascript files.     *     * @param context FacesContext     * @param component UIComponent     */    private void encodeJavascript(FacesContext context, UIComponent component)    {        // AddResource takes care to add only one reference to the same script        String javascriptLocation = (String)component.getAttributes().get(JSFAttr.JAVASCRIPT_LOCATION);        AddResource addResource = AddResourceFactory.getInstance(context);        if(javascriptLocation != null)        {            // add user defined javascripts            addResource.addJavaScriptAtPosition(context, AddResource.HEADER_BEGIN, javascriptLocation + "/inputnumber.js");        }        else        {            addResource.addJavaScriptAtPosition(context, AddResource.HEADER_BEGIN, HtmlInputNumber.class, "inputnumber.js");        }    }        public void decode(FacesContext facesContext, UIComponent uiComponent) {        RendererUtils.checkParamValidity(facesContext, uiComponent, HtmlInputNumber.class);                HtmlInputNumber inputNumber = (HtmlInputNumber) uiComponent;		        if( isDisabled(facesContext, inputNumber)) // For safety, do not set the submited value if the component is disabled.            return;        String clientId = inputNumber.getClientId(facesContext);        Map requestMap = facesContext.getExternalContext().getRequestParameterMap();        String type = inputNumber.getType();        String value = (String) requestMap.get(clientId);                if(type.equals("integer"))        	inputNumber.setSubmittedValue(new Integer(value));        else if(type.equals("byte"))        	inputNumber.setSubmittedValue(new Byte(value));        else if(type.equals("short"))        	inputNumber.setSubmittedValue(new Short(value));        else if(type.equals("long"))        	inputNumber.setSubmittedValue(new Long(value));        else if(type.equals("double"))        	inputNumber.setSubmittedValue(new Double(value));        else if(type.equals("float"))        	inputNumber.setSubmittedValue(new Float(value));        else if(type.equals("biginteger"))        	inputNumber.setSubmittedValue(new BigInteger(value));    }            public Object getConvertedValue(FacesContext facesContext, UIComponent uiComponent, Object submittedValue) throws ConverterException {        return submittedValue;    }    }