public class CurrencyValidator extends BigDecimalValidator
Currency Validation and Conversion routines (java.math.BigDecimal
).
This is one implementation of a currency validator that has the following features:
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.
CURRENCY_FORMAT, PERCENT_FORMAT, STANDARD_FORMAT
Constructor and Description |
---|
CurrencyValidator()
Construct a strict instance.
|
CurrencyValidator(boolean strict,
boolean allowFractions)
Construct an instance with the specified strict setting.
|
Modifier and Type | Method and Description |
---|---|
static BigDecimalValidator |
getInstance()
Return a singleton instance of this validator.
|
protected Object |
parse(String value,
Format formatter)
Parse the value with the specified
Format . |
isInRange, maxValue, minValue, processParsedValue, validate, validate, validate, validate
determineScale, getFormat, getFormat, getFormatType, isAllowFractions, isInRange, isValid, maxValue, minValue, parse
public CurrencyValidator()
public CurrencyValidator(boolean strict, boolean allowFractions)
strict
- true
if strict
Format
parsing should be used.allowFractions
- true
if fractions are
allowed or false
if integers only.public static BigDecimalValidator getInstance()
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.
parse
in class AbstractFormatValidator
value
- The value to be parsed.formatter
- The Format to parse the value with.null
if invalid.Copyright © 2002–2020 The Apache Software Foundation. All rights reserved.