protected Converter createConverter() throws JspException { NumberConverter result = (NumberConverter) super.createConverter(); assert (null != result); evaluateExpressions(); result.setCurrencyCode(currencyCode); result.setCurrencySymbol(currencySymbol); result.setGroupingUsed(groupingUsed); result.setIntegerOnly(integerOnly); if (maxFractionDigitsSpecified) { result.setMaxFractionDigits(maxFractionDigits); } if (maxIntegerDigitsSpecified) { result.setMaxIntegerDigits(maxIntegerDigits); } if (minFractionDigitsSpecified) { result.setMinFractionDigits(minFractionDigits); } if (minIntegerDigitsSpecified) { result.setMinIntegerDigits(minIntegerDigits); } result.setLocale(locale); result.setPattern(pattern); result.setType(type); return result; }
public String getAsString(FacesContext context, UIComponent component, Object value) throws ConverterException { AssertionUtil.assertNotNull("FacesContext", context); AssertionUtil.assertNotNull("UIComponent", component); if (value == null) { return ""; } if (value instanceof String) { return (String) value; } Locale locale = getLocale(context); String pattern = getPattern(); NumberFormat formatter = getNumberFormat(locale); if (pattern == null) { configureFormatter(formatter); if (TYPE_CURRENCY.equals(type)) { configureCurrency(formatter); } } try { return formatter.format(value); } catch (Exception e) { Object[] args = ConvertUtil.createExceptionMessageArgs(component, value); throw new ConverterException(FacesMessageUtil.getMessage(context, getStringMessageId(), args), e); } }
public Object saveState(FacesContext context) { Object values[] = new Object[15]; values[0] = getCurrencyCode(); values[1] = getCurrencySymbol(); values[2] = isGroupingUsed() ? Boolean.TRUE : Boolean.FALSE; values[3] = isIntegerOnly() ? Boolean.TRUE : Boolean.FALSE; values[4] = new Integer(getMaxFractionDigits()); values[5] = isSetMaxFractionDigits ? Boolean.TRUE : Boolean.FALSE; values[6] = new Integer(getMaxIntegerDigits()); values[7] = isSetMaxIntegerDigits ? Boolean.TRUE : Boolean.FALSE; values[8] = new Integer(getMinFractionDigits()); values[9] = isSetMinFractionDigits ? Boolean.TRUE : Boolean.FALSE; values[10] = new Integer(getMinIntegerDigits()); values[11] = isSetMinIntegerDigits ? Boolean.TRUE : Boolean.FALSE; values[12] = getLocale(); values[13] = getPattern(); values[14] = getType(); return values; }
Locale locale = getLocale(context); getNumberFormat(locale); if (((pattern != null) && pattern.length() != 0) || "currency".equals(type)) { configureCurrency(formatter); configureFormatter(formatter);
Locale locale = getLocale(context); parser = getNumberFormat(locale); if (((pattern != null) && pattern.length() != 0) || "currency".equals(type)) { configureCurrency(parser); parser.setParseIntegerOnly(isIntegerOnly()); boolean groupSepChanged = false;
/** * <p>Return the <code>Locale</code> to be used when parsing numbers. * If this value is <code>null</code>, the <code>Locale</code> stored * in the {@link javax.faces.component.UIViewRoot} for the current request * will be utilized.</p> */ public Locale getLocale() { if (this.locale == null) { this.locale = getLocale(FacesContext.getCurrentInstance()); } return (this.locale); }
public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException { AssertionUtil.assertNotNull("FacesContext", context); AssertionUtil.assertNotNull("UIComponent", component); if (value == null) { return null; } value = value.trim(); if (value.length() < 1) { return null; } Locale locale = getLocale(context); value = NumberConversionUtil.removeDelimeter(value, locale); NumberFormat formatter = getNumberFormat(locale); formatter.setParseIntegerOnly(isIntegerOnly()); try { return formatter.parse(value); } catch (ParseException e) { Object[] args = ConvertUtil.createExceptionMessageArgs(component, value); throw new ConverterException(FacesMessageUtil.getMessage(context, getObjectMessageId(), args), e); } }
@Override public void setAttributes(FaceletContext ctx, Object obj) { super.setAttributes(ctx, obj); NumberConverter c = (NumberConverter) obj; if (this.locale != null) { c.setLocale(ComponentSupport.getLocale(ctx, this.locale)); } }
/** * Sets a value to the input. * * @param input * The input to set the value to. May not be null. * @param property * The property. May not be null. * @param context * The jsf context. May not be null. */ protected final void addValue(final UIInput input, final PropertyDescriptor<?, ?> property, final RenderContext context) { Validate.notNull(input, "Input may not be null."); Validate.notNull(property, AbstractRenderStrategy.PROPERTY_NULL); Validate.notNull(context, AbstractRenderStrategy.CONTEXT_NULL); input.setValueExpression( "value", this.expressionFactory.createValueExpression(context.getFacesContext().getELContext(), VariableUtil.compileVariable(context.getVariable(), context.getPrefixDeque()), Object.class)); final PresentationPropertyDescriptor<?, ?> presentationProperty = property.adapt(PresentationPropertyDescriptor.class); if (TypeUtil.isNumberType(property.getPropertyType()) && !CheckUtil.isNull(presentationProperty)) { final NumberConverter converter = new NumberConverter(); converter.setPattern(presentationProperty.getFormat()); input.setConverter(converter); } }
if (value.length() > 0) NumberFormat format = getNumberFormat(facesContext); format.setParseIntegerOnly(_integerOnly); formatCurrency(format); if(getPattern() != null) new Object[]{value, "$###,###", _MessageUtils.getLabel(facesContext, uiComponent)})); else if(getType().equals("number")) _MessageUtils.getLabel(facesContext, uiComponent)})); else if(getType().equals("currency")) _MessageUtils.getLabel(facesContext, uiComponent)})); else if(getType().equals("percent"))
if (value.length() > 0) NumberFormat format = getNumberFormat(facesContext); format.setParseIntegerOnly(_integerOnly); if(getPattern() != null) throw new ConverterException(_MessageUtils.getErrorMessage(facesContext, PATTERN_ID, new Object[]{value,"$###,###",_MessageUtils.getLabel(facesContext, uiComponent)})); else if(getType().equals("number")) throw new ConverterException(_MessageUtils.getErrorMessage(facesContext, NUMBER_ID, new Object[]{value,"21",_MessageUtils.getLabel(facesContext, uiComponent)})); else if(getType().equals("currency")) throw new ConverterException(_MessageUtils.getErrorMessage(facesContext, CURRENCY_ID, new Object[]{value,"42.25",_MessageUtils.getLabel(facesContext, uiComponent)})); else if(getType().equals("percent")) throw new ConverterException(_MessageUtils.getErrorMessage(facesContext, PERCENT_ID,
public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object value) { if (facesContext == null) throw new NullPointerException("facesContext"); if (uiComponent == null) throw new NullPointerException("uiComponent"); if (value == null) { return ""; } if (value instanceof String) { return (String)value; } NumberFormat format = getNumberFormat(facesContext); format.setGroupingUsed(_groupingUsed); if (_maxFractionDigitsSet) format.setMaximumFractionDigits(_maxFractionDigits); if (_maxIntegerDigitsSet) format.setMaximumIntegerDigits(_maxIntegerDigits); if (_minFractionDigitsSet) format.setMinimumFractionDigits(_minFractionDigits); if (_minIntegerDigitsSet) format.setMinimumIntegerDigits(_minIntegerDigits); formatCurrency(format); try { return format.format(value); } catch (Exception e) { throw new ConverterException(_MessageUtils.getErrorMessage(facesContext, STRING_ID, new Object[]{value,_MessageUtils.getLabel(facesContext, uiComponent)}),e); } }
protected void setConverterPattern(FacesContext context, NumberConverter converter) { String pattern = (String) ValueBindingUtil.getValue(context, getPattern()); if (pattern == null) { pattern = getPattern(); } converter.setPattern(pattern); }
protected void setConverterGroupingUsed(FacesContext context, NumberConverter converter) { final String groupingUsed = getGroupingUsed(); if (groupingUsed == null) { return; } Boolean b = (Boolean) ValueBindingUtil.getValue(context, groupingUsed); if (b == null) { b = new Boolean(groupingUsed); } converter.setGroupingUsed(b.booleanValue()); }
protected void setConverterMaxFractionDigits(FacesContext context, NumberConverter converter) { final String maxFractionDigits = getMaxFractionDigits(); if (maxFractionDigits == null) { return; } Integer i = (Integer) ValueBindingUtil.getValue(context, maxFractionDigits); if (i == null) { i = new Integer(maxFractionDigits); } converter.setMaxFractionDigits(i.intValue()); }
protected void setConverterMinFractionDigits(FacesContext context, NumberConverter converter) { final String minFractionDigits = getMinFractionDigits(); if (minFractionDigits == null) { return; } Integer i = (Integer) ValueBindingUtil.getValue(context, minFractionDigits); if (i == null) { i = new Integer(minFractionDigits); } converter.setMinFractionDigits(i.intValue()); }
protected void setConverterMaxIntegerDigits(FacesContext context, NumberConverter converter) { final String maxIntegerDigits = getMaxIntegerDigits(); if (maxIntegerDigits == null) { return; } Integer i = (Integer) ValueBindingUtil.getValue(context, maxIntegerDigits); if (i == null) { i = new Integer(maxIntegerDigits); } converter.setMaxIntegerDigits(i.intValue()); }
protected void setConverterCurrencySymbol(FacesContext context, NumberConverter converter) { String currencySymbol = getCurrencySymbol(); if (currencySymbol == null) { return; } String symbol = (String) ValueBindingUtil.getValue(context, currencySymbol); if (symbol == null) { symbol = currencySymbol; } converter.setCurrencySymbol(symbol); }
protected void setConverterCurrencyCode(FacesContext context, NumberConverter converter) { String currencyCode = getCurrencyCode(); if (currencyCode == null) { return; } String cCode = (String) ValueBindingUtil .getValue(context, currencyCode); if (cCode == null) { cCode = currencyCode; } converter.setCurrencyCode(cCode); }
Locale locale = getLocale(context); getNumberFormat(locale); if (((pattern != null) && pattern.length() != 0) || "currency".equals(type)) { configureCurrency(formatter); configureFormatter(formatter);