protected Converter findUIOutputConverter(FacesContext facesContext, UIComponent component) { Converter converter = ((EditableValueHolder)component).getConverter(); if (converter != null) return converter; //Try to find out by value binding ValueBinding vb = component.getValueBinding("value"); if (vb == null) return null; Class valueType = vb.getType(facesContext); if (valueType == null) return null; if (String.class.equals(valueType)) return null; //No converter needed for String type if (Object.class.equals(valueType)) return null; //There is no converter for Object class try { return facesContext.getApplication().createConverter(valueType); } catch (FacesException e) { getFacesContext().getExternalContext().log("No Converter for type " + valueType.getName() + " found", e); return null; } }
protected Converter findUIOutputConverter(FacesContext facesContext, UIComponent component) { Converter converter = ((EditableValueHolder)component).getConverter(); if (converter != null) return converter; //Try to find out by value binding ValueBinding vb = component.getValueBinding("value"); if (vb == null) return null; Class valueType = vb.getType(facesContext); if (valueType == null) return null; if (String.class.equals(valueType)) return null; //No converter needed for String type if (Object.class.equals(valueType)) return null; //There is no converter for Object class try { return facesContext.getApplication().createConverter(valueType); } catch (FacesException e) { getFacesContext().getExternalContext().log("No Converter for type " + valueType.getName() + " found", e); return null; } }
else if (editableValueHolder.getConverter() != null) return editableValueHolder.getConverter().getAsString(context, component, value);
private void initConverter() converter = editableValueHolder.getConverter(); if (converter != null)
else if (editableValueHolder.getConverter() != null) return editableValueHolder.getConverter().getAsString(context, component, value);
public ConverterDescriptor getConverter(ClientBehaviorContext context) throws ConverterNotFoundException { UIComponent component = context.getComponent(); if (component instanceof EditableValueHolder) { EditableValueHolder input = (EditableValueHolder) component; FacesContext facesContext = context.getFacesContext(); Converter converter = input.getConverter(); if (null == converter) { Class<?> valueType; ValueExpression valueExpression = component.getValueExpression(VALUE); if (null != valueExpression) { valueType = valueExpression.getType(facesContext.getELContext()); converter = createConverterByType(facesContext, valueType); } } if (null != converter) { FacesConverterService converterService = ServiceTracker.getService(facesContext, FacesConverterService.class); String converterMessage = (String) component.getAttributes().get("converterMessage"); return converterService.getConverterDescription(facesContext, input, converter, converterMessage); } else { return null; } } else { throw new ConverterNotFoundException("Component does not implement EditableValueHolder" + component); } }
public ConverterDescriptor getConverter(ClientBehaviorContext context) throws ConverterNotFoundException { UIComponent component = context.getComponent(); if (component instanceof EditableValueHolder) { EditableValueHolder input = (EditableValueHolder) component; FacesContext facesContext = context.getFacesContext(); Converter converter = input.getConverter(); if (null == converter) { Class<?> valueType; ValueExpression valueExpression = component.getValueExpression(VALUE); if (null != valueExpression) { valueType = valueExpression.getType(facesContext.getELContext()); converter = createConverterByType(facesContext, valueType); } } if (null != converter) { FacesConverterService converterService = ServiceTracker.getService(facesContext, FacesConverterService.class); String converterMessage = (String) component.getAttributes().get("converterMessage"); return converterService.getConverterDescription(facesContext, input, converter, converterMessage); } else { return null; } } else { throw new ConverterNotFoundException("Component does not implement EditableValueHolder" + component); } }
public ConverterDescriptor getConverter(ClientBehaviorContext context) throws ConverterNotFoundException { UIComponent component = context.getComponent(); if (component instanceof EditableValueHolder) { EditableValueHolder input = (EditableValueHolder) component; FacesContext facesContext = context.getFacesContext(); Converter converter = input.getConverter(); if (null == converter) { Class<?> valueType; ValueExpression valueExpression = component.getValueExpression(VALUE); if (null != valueExpression) { valueType = valueExpression.getType(facesContext.getELContext()); converter = createConverterByType(facesContext, valueType); } } if (null != converter) { FacesConverterService converterService = ServiceTracker.getService(facesContext, FacesConverterService.class); String converterMessage = (String) component.getAttributes().get("converterMessage"); return converterService.getConverterDescription(facesContext, input, converter, converterMessage); } else { return null; } } else { throw new ConverterNotFoundException("Component does not implement EditableValueHolder" + component); } }