Class CurrencyValidator

All Implemented Interfaces:
Serializable

Currency Validation and Conversion routines (java.math.BigDecimal).

This is one implementation of a currency validator that has the following features:

  • It is lenient about the presence of the currency symbol
  • It converts the currency to a java.math.BigDecimal

However any of the number validators can be used for currency validation. For example, if you wanted a currency validator that converts to a java.lang.Integer then you can simply instantiate an IntegerValidator with the appropriate format type:

... = new IntegerValidator(false, IntegerValidator.CURRENCY_FORMAT);

Pick the appropriate validator, depending on the type (e.g Float, Double, Integer, Long etc) you want the currency converted to. One thing to note - only the CurrencyValidator implements lenient behavior regarding the currency symbol.

Since:
1.3.0
See Also:
  • Constructor Details

    • CurrencyValidator

      Constructs a strict instance.
    • CurrencyValidator

      public CurrencyValidator(boolean strict, boolean allowFractions)
      Constructs an instance with the specified strict setting.
      Parameters:
      strict - true if strict Format parsing should be used.
      allowFractions - true if fractions are allowed or false if integers only.
  • Method Details

    • getInstance

      Return a singleton instance of this validator.
      Returns:
      A singleton instance of the CurrencyValidator.
    • parse

      protected Object parse(String value, Format formatter)

      Parse the value with the specified Format.

      This implementation is lenient whether the currency symbol is present or not. The default NumberFormat behavior is for the parsing to "fail" if the currency symbol is missing. This method re-parses with a format without the currency symbol if it fails initially.

      Overrides:
      parse in class AbstractFormatValidator
      Parameters:
      value - The value to be parsed.
      formatter - The Format to parse the value with.
      Returns:
      The parsed value if valid or null if invalid.