org.apache.commons.validator.routines
Class CurrencyValidator

java.lang.Object
  extended by org.apache.commons.validator.routines.AbstractFormatValidator
      extended by org.apache.commons.validator.routines.AbstractNumberValidator
          extended by org.apache.commons.validator.routines.BigDecimalValidator
              extended by org.apache.commons.validator.routines.CurrencyValidator
All Implemented Interfaces:
java.io.Serializable

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:

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.

Since:
Validator 1.3.0
Version:
$Revision: 478334 $ $Date: 2006-11-22 21:31:54 +0000 (Wed, 22 Nov 2006) $
See Also:
Serialized Form

Field Summary
private static char CURRENCY_SYMBOL
          DecimalFormat's currency symbol
private static CurrencyValidator VALIDATOR
           
 
Fields inherited from class org.apache.commons.validator.routines.AbstractNumberValidator
CURRENCY_FORMAT, PERCENT_FORMAT, STANDARD_FORMAT
 
Constructor Summary
CurrencyValidator()
          Construct a strict instance.
CurrencyValidator(boolean strict, boolean allowFractions)
          Construct an instance with the specified strict setting.
 
Method Summary
static BigDecimalValidator getInstance()
          Return a singleton instance of this validator.
protected  java.lang.Object parse(java.lang.String value, java.text.Format formatter)
          Parse the value with the specified Format.
 
Methods inherited from class org.apache.commons.validator.routines.BigDecimalValidator
isInRange, maxValue, minValue, processParsedValue, validate, validate, validate, validate
 
Methods inherited from class org.apache.commons.validator.routines.AbstractNumberValidator
determineScale, getFormat, getFormat, getFormatType, isAllowFractions, isInRange, isValid, maxValue, minValue, parse
 
Methods inherited from class org.apache.commons.validator.routines.AbstractFormatValidator
format, format, format, format, format, isStrict, isValid, isValid, isValid
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VALIDATOR

private static final CurrencyValidator VALIDATOR

CURRENCY_SYMBOL

private static final char CURRENCY_SYMBOL
DecimalFormat's currency symbol

See Also:
Constant Field Values
Constructor Detail

CurrencyValidator

public CurrencyValidator()
Construct a strict instance.


CurrencyValidator

public CurrencyValidator(boolean strict,
                         boolean allowFractions)
Construct 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 Detail

getInstance

public static BigDecimalValidator getInstance()
Return a singleton instance of this validator.

Returns:
A singleton instance of the CurrencyValidator.

parse

protected java.lang.Object parse(java.lang.String value,
                                 java.text.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.

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.


Copyright (c) 2001-2004 Apache Software Foundation