Class MonetaryAmountFormatter
- java.lang.Object
- org.springframework.format.number.money.MonetaryAmountFormatter
- All Implemented Interfaces:
Formatter<javax.money.MonetaryAmount>
,Parser<javax.money.MonetaryAmount>
,Printer<javax.money.MonetaryAmount>
public class MonetaryAmountFormatter extends Object implements Formatter<javax.money.MonetaryAmount>
Formatter for JSR-354MonetaryAmount
values, delegating toMonetaryAmountFormat.format(javax.money.MonetaryAmount)
andMonetaryAmountFormat.parse(java.lang.CharSequence)
.- Since:
- 4.2
- Author:
- Juergen Hoeller
- See Also:
getMonetaryAmountFormat(java.util.Locale)
Constructor Summary
Constructors Constructor Description MonetaryAmountFormatter()
Create a locale-driven MonetaryAmountFormatter.MonetaryAmountFormatter(String formatName)
Create a new MonetaryAmountFormatter for the given format name.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected javax.money.format.MonetaryAmountFormat
getMonetaryAmountFormat(Locale locale)
Obtain a MonetaryAmountFormat for the given locale.javax.money.MonetaryAmount
parse(String text, Locale locale)
Parse a text String to produce a T.String
print(javax.money.MonetaryAmount object, Locale locale)
Print the object of type T for display.void
setFormatName(String formatName)
Specify the format name, to be resolved by the JSR-354 provider at runtime.
Constructor Detail
MonetaryAmountFormatter
public MonetaryAmountFormatter()
Create a locale-driven MonetaryAmountFormatter.
MonetaryAmountFormatter
public MonetaryAmountFormatter(String formatName)
Create a new MonetaryAmountFormatter for the given format name.- Parameters:
formatName
- the format name, to be resolved by the JSR-354 provider at runtime
Method Detail
setFormatName
public void setFormatName(String formatName)
Specify the format name, to be resolved by the JSR-354 provider at runtime.Default is none, obtaining a
MonetaryAmountFormat
based on the current locale.
print
public String print(javax.money.MonetaryAmount object, Locale locale)
Description copied from interface:Printer
Print the object of type T for display.
parse
public javax.money.MonetaryAmount parse(String text, Locale locale)
Description copied from interface:Parser
Parse a text String to produce a T.
getMonetaryAmountFormat
protected javax.money.format.MonetaryAmountFormat getMonetaryAmountFormat(Locale locale)
Obtain a MonetaryAmountFormat for the given locale.The default implementation simply calls
MonetaryFormats.getAmountFormat(java.util.Locale, java.lang.String...)
with either the configured format name or the given locale.- Parameters:
locale
- the current locale- Returns:
- the MonetaryAmountFormat (never
null
) - See Also:
setFormatName(java.lang.String)