MonetaryFormatter.java
package org.freshmarker.money;
import org.freshmarker.api.Formatter;
import org.freshmarker.core.formatter.LocaleLocal;
import javax.money.format.MonetaryAmountFormat;
import javax.money.format.MonetaryFormats;
import java.util.Locale;
import org.javamoney.moneta.Money;
public class MonetaryFormatter implements Formatter {
private final LocaleLocal<MonetaryAmountFormat> localeLocal = LocaleLocal.withInitial(MonetaryFormats::getAmountFormat);
@Override
public String format(Object value, Locale locale) {
return localeLocal.get(locale).format(((Money) value));
}
}