org.apache.commons.validator.routines
Class CurrencyValidator
- Serializable
public class CurrencyValidator
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 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 behaviour regarding the currency symbol.
$Revision: 478334 $ $Date: 2006-11-22 21:31:54 +0000 (Wed, 22 Nov 2006) $
static BigDecimalValidator | getInstance() - Return a singleton instance of this validator.
|
protected Object | parse(String value, Format formatter) - Parse the value with the specified
Format .
|
determineScale , getFormat , getFormat , getFormatType , isAllowFractions , isInRange , isValid , maxValue , minValue , parse , processParsedValue |
format , format , format , format , format , getFormat , isStrict , isValid , isValid , isValid , isValid , parse , processParsedValue |
CURRENCY_SYMBOL
private static final char CURRENCY_SYMBOL
DecimalFormat's currency symbol
CurrencyValidator
public CurrencyValidator()
Construct a strict instance.
CurrencyValidator
public CurrencyValidator(boolean strict,
boolean allowFractions)
Construct an instance with the specified strict setting.
strict
- true
if strict
Format
parsing should be used.allowFractions
- true
if fractions are
allowed or false
if integers only.
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
behaviour 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 interface AbstractFormatValidator
value
- The value to be parsed.formatter
- The Format to parse the value with.
- The parsed value if valid or
null
if invalid.
Copyright (c) 2001-2004 Apache Software Foundation