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-354 MonetaryAmount values, delegating to MonetaryAmountFormat.format(javax.money.MonetaryAmount) and MonetaryAmountFormat.parse(java.lang.CharSequence).
Since:
4.2
Author:
Juergen Hoeller
See Also:
  • Constructor Details

    • 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 Details

    • 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.
      Specified by:
      print in interface Printer<javax.money.MonetaryAmount>
      Parameters:
      object - the instance to print
      locale - the current user locale
      Returns:
      the printed text string
    • parse

      public javax.money.MonetaryAmount parse(String text, Locale locale)
      Description copied from interface: Parser
      Parse a text String to produce a T.
      Specified by:
      parse in interface Parser<javax.money.MonetaryAmount>
      Parameters:
      text - the text string
      locale - the current user locale
      Returns:
      an instance of 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: