package javamoneyexamples.jsf.money.converter; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.FacesConverter; import javax.money.CurrencyUnit; import javax.money.Monetary; import org.javamoney.moneta.Money; @FacesConverter("defaultMonetaryAmount") public class DefaultMonetaryAmountConverter implements Converter { private static final CurrencyUnit DOLLAR = Monetary.getCurrency("USD"); @Override public Object getAsObject(FacesContext context, UIComponent component, String value) { return Money.of(Double.parseDouble(value), DOLLAR); } @Override public String getAsString(FacesContext context, UIComponent component, Object value) { if (Money.class.isInstance(value)) { return Money.class.cast(value).getNumber().toString(); } return null; } }