@Override public String print(MonetaryAmount object, Locale locale) { return this.numberFormatter.print(object.getNumber(), locale); }
@Override public void setAsText(String text) throws IllegalArgumentException { if (StringUtils.hasText(text)) { try { setValue(this.formatter.parse(text, LocaleContextHolder.getLocale())); } catch (IllegalArgumentException ex) { throw ex; } catch (Throwable ex) { throw new IllegalArgumentException("Parse attempt failed for value [" + text + "]", ex); } } else { setValue(null); } }
@Override public String getAsText() { Object value = getValue(); return (value != null ? this.formatter.print(value, LocaleContextHolder.getLocale()) : ""); }
@Override public void setAsText(String text) throws IllegalArgumentException { if (StringUtils.hasText(text)) { try { setValue(this.formatter.parse(text, LocaleContextHolder.getLocale())); } catch (IllegalArgumentException ex) { throw ex; } catch (Throwable ex) { throw new IllegalArgumentException("Parse attempt failed for value [" + text + "]", ex); } } else { setValue(null); } }
@Override public String getAsText() { Object value = getValue(); return (value != null ? this.formatter.print(value, LocaleContextHolder.getLocale()) : ""); }
@Override public MonetaryAmount parse(String text, Locale locale) throws ParseException { CurrencyUnit currencyUnit = Monetary.getCurrency(locale); Number numberValue = this.numberFormatter.parse(text, locale); return Monetary.getDefaultAmountFactory().setNumber(numberValue).setCurrency(currencyUnit).create(); } }
@Override public String print(MonetaryAmount object, Locale locale) { return this.numberFormatter.print(object.getNumber(), locale); }
@Override public MonetaryAmount parse(String text, Locale locale) throws ParseException { CurrencyUnit currencyUnit = Monetary.getCurrency(locale); Number numberValue = this.numberFormatter.parse(text, locale); return Monetary.getDefaultAmountFactory().setNumber(numberValue).setCurrency(currencyUnit).create(); } }
/** * Do invocation of specified formatter on value with default locale. * @param formatter * @param value allow null value * @param <T> * @return printed text or null if value is null */ public static <T> String print(Formatter<T> formatter, T value) { if(value == null) { return null; } return formatter.print(value, Locale.getDefault()); } }
/** * Do invocation of specified formatter on text with default locale. * @param formatter * @param text allow null * @param <T> * @return parsed object or null if text is null */ public static <T> T parse(Formatter<T> formatter, String text) { if(text == null) { return null; } try { return formatter.parse(text, Locale.getDefault()); } catch (ParseException e) { throw new IllegalArgumentException("Can not parse:'" + text + "'", e); } }
@Override public String print(MonetaryAmount object, Locale locale) { return this.numberFormatter.print(object.getNumber(), locale); }
@Override public void setAsText(String text) throws IllegalArgumentException { if (StringUtils.hasText(text)) { try { setValue(this.formatter.parse(text, LocaleContextHolder.getLocale())); } catch (IllegalArgumentException ex) { throw ex; } catch (Throwable ex) { throw new IllegalArgumentException("Parse attempt failed for value [" + text + "]", ex); } } else { setValue(null); } }
@Override public String getAsText() { Object value = getValue(); return (value != null ? this.formatter.print(value, LocaleContextHolder.getLocale()) : ""); }
@Override public T parse(String text, Locale locale) throws ParseException { Callbacks.call(this.textValidator, text); T object = formatter.parse(text, locale); Callbacks.call(this.objectValidator, object); return object; }
/** * Renders the value from the bean using the value provider of the display using the defined renderer * @param bean The bean to read the value from * @return The rendered value */ @SuppressWarnings("unchecked") public String render( final B bean) { return Optional.ofNullable(this.provider) .map(provider -> provider.apply(bean)) .map(value -> Optional.ofNullable(formatter) .orElse(new DefaultStringFormatter()) .print((F)value, Locale.getDefault())) .orElse(null); } // private Converter<F, Object> createConverter(
@Override public MonetaryAmount parse(String text, Locale locale) throws ParseException { CurrencyUnit currencyUnit = Monetary.getCurrency(locale); Number numberValue = this.numberFormatter.parse(text, locale); return Monetary.getDefaultAmountFactory().setNumber(numberValue).setCurrency(currencyUnit).create(); } }
@Override public String print(T object, Locale locale) { Callbacks.call(this.objectValidator, object); String text = formatter.print(object, locale); Callbacks.call(this.textValidator, text); return text; } }