package org.agilejava.icustomer.web.util; import javax.faces.FacesException; import javax.faces.convert.Converter; import org.agilejava.framework.commons.code.CodeConverter; import com.sun.facelets.FaceletContext; import com.sun.facelets.FaceletException; import com.sun.facelets.tag.MetaRuleset; import com.sun.facelets.tag.TagAttribute; import com.sun.facelets.tag.jsf.ConvertHandler; import com.sun.facelets.tag.jsf.ConverterConfig; /** * @author terry.zhou, 2006-7-9 * @version */ public class CodeConverterHandler extends ConvertHandler { private final TagAttribute codeType; /** * * @param config */ public CodeConverterHandler(ConverterConfig config) { super(config); this.codeType = this.getAttribute("codeType"); } /** * Returns a new CodeConverter * * @see com.sun.facelets.tag.jsf.ConverterHandler#createConverter(com.sun.facelets.FaceletContext) */ protected Converter createConverter(FaceletContext ctx) throws FacesException, FaceletException { return ctx.getFacesContext().getApplication().createConverter( CodeConverter.CONVERTER_ID); } /* * (non-Javadoc) * * @see com.sun.facelets.tag.ObjectHandler#setAttributes(com.sun.facelets.FaceletContext, * java.lang.Object) */ protected void setAttributes(FaceletContext ctx, Object obj) { CodeConverter c = (CodeConverter) obj; if (this.codeType != null) { c.setCodeType(this.codeType.getValue(ctx)); } } protected MetaRuleset createMetaRuleset(Class type) { return super.createMetaRuleset(type).ignoreAll(); } }