Class FormattedBigDecimalConversion

All Implemented Interfaces:
Conversion<String,BigDecimal>, FormattedConversion<DecimalFormat>

public class FormattedBigDecimalConversion extends NumericConversion<BigDecimal>
Converts formatted Strings to instances of BigDecimal and vice versa.

This class supports multiple numeric formats. For example, you can define conversions from numbers represented by different Strings such as "1,000,000.00 and $5.00".

The reverse conversion from a BigDecimal to String (in revert(BigDecimal) will return a formatted String using the pattern provided in this class constructor

The numeric patterns must follow the pattern rules of DecimalFormat

See Also:
  • Constructor Details

    • FormattedBigDecimalConversion

      public FormattedBigDecimalConversion(BigDecimal valueIfStringIsNull, String valueIfObjectIsNull, String... numericFormats)
      Defines a conversion from String to BigDecimal using a sequence of acceptable numeric patterns. This constructor assumes the output of a conversion should be null when input is null
      Parameters:
      valueIfStringIsNull - default BigDecimal to be returned when the input String is null. Used when ObjectConversion.execute(String) is invoked.
      valueIfObjectIsNull - default String value to be returned when a BigDecimal input is null. Used when revert(BigDecimal) is invoked.
      numericFormats - list of acceptable numeric patterns. The first pattern in this sequence will be used to convert a BigDecimal into a String in revert(BigDecimal).
    • FormattedBigDecimalConversion

      public FormattedBigDecimalConversion(BigDecimal valueIfStringIsNull, String valueIfObjectIsNull)
      Defines a conversion from String to BigDecimal using a sequence of acceptable numeric patterns. The patterns must be added to this conversion class through the NumericConversion.addFormat(String, String...) method.
      Parameters:
      valueIfStringIsNull - default BigDecimal to be returned when the input String is null. Used when ObjectConversion.execute(String) is invoked.
      valueIfObjectIsNull - default String value to be returned when a BigDecimal input is null. Used when NumericConversion.revert(Number) is invoked.
    • FormattedBigDecimalConversion

      public FormattedBigDecimalConversion(String... numericFormats)
      Defines a conversion from String to BigDecimal using a sequence of acceptable numeric patterns. This constructor assumes the output of a conversion should be null when input is null
      Parameters:
      numericFormats - list of acceptable numeric patterns. The first pattern in this sequence will be used to convert a BigDecimal into a String in NumericConversion.revert(Number).
    • FormattedBigDecimalConversion

      public FormattedBigDecimalConversion(DecimalFormat... numericFormatters)
      Defines a conversion from String toBigDecimal using a sequence of acceptable numeric patterns. This constructor assumes the output of a conversion should be null when input is null
      Parameters:
      numericFormatters - list formatters of acceptable numeric patterns. The first formatter in this sequence will be used to convert a BigDecimal into a String in NumericConversion.revert(Number).
    • FormattedBigDecimalConversion

      public FormattedBigDecimalConversion()
      Defines a conversion from String to BigDecimal using a sequence of acceptable numeric patterns. The patterns must be added to this conversion class through the NumericConversion.addFormat(String, String...) method. This constructor assumes the output of a conversion should be null when input is null
  • Method Details

    • configureFormatter

      protected void configureFormatter(DecimalFormat formatter)
      Configures the Decimal format instance created by the parent class to parse BigDecimals.
      Specified by:
      configureFormatter in class NumericConversion<BigDecimal>
      Parameters:
      formatter - a DecimalFormat instance initialized with one of the patterns provided in the constructor of this class.