org.apache.commons.validator.routines
Class BigDecimalValidator

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
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
CurrencyValidator, PercentValidator

public class BigDecimalValidator
extends AbstractNumberValidator

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

This validator provides a number of methods for validating/converting a String value to a BigDecimal using java.text.NumberFormat to parse either:

Use one of the isValid() methods to just validate or one of the validate() methods to validate and receive a converted BigDecimal value.

Fraction/decimal values are automatically trimmed to the appropriate length.

Once a value has been sucessfully converted the following methods can be used to perform minimum, maximum and range checks:

So that the same mechanism used for parsing an input value for validation can be used to format output, corresponding format() methods are also provided. That is you can format either:

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 BigDecimalValidator VALIDATOR
           
 
Fields inherited from class org.apache.commons.validator.routines.AbstractNumberValidator
CURRENCY_FORMAT, PERCENT_FORMAT, STANDARD_FORMAT
 
Constructor Summary
  BigDecimalValidator()
          Construct a strict instance.
  BigDecimalValidator(boolean strict)
          Construct an instance with the specified strict setting.
protected BigDecimalValidator(boolean strict, int formatType, boolean allowFractions)
          Construct an instance with the specified strict setting and format type.
 
Method Summary
static BigDecimalValidator getInstance()
          Return a singleton instance of this validator.
 boolean isInRange(java.math.BigDecimal value, double min, double max)
          Check if the value is within a specified range.
 boolean maxValue(java.math.BigDecimal value, double max)
          Check if the value is less than or equal to a maximum.
 boolean minValue(java.math.BigDecimal value, double min)
          Check if the value is greater than or equal to a minimum.
protected  java.lang.Object processParsedValue(java.lang.Object value, java.text.Format formatter)
          Convert the parsed value to a BigDecimal.
 java.math.BigDecimal validate(java.lang.String value)
          Validate/convert a BigDecimal using the default Locale.
 java.math.BigDecimal validate(java.lang.String value, java.util.Locale locale)
          Validate/convert a BigDecimal using the specified Locale.
 java.math.BigDecimal validate(java.lang.String value, java.lang.String pattern)
          Validate/convert a BigDecimal using the specified pattern.
 java.math.BigDecimal validate(java.lang.String value, java.lang.String pattern, java.util.Locale locale)
          Validate/convert a BigDecimal using the specified pattern and/ or Locale.
 
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, parse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VALIDATOR

private static final BigDecimalValidator VALIDATOR
Constructor Detail

BigDecimalValidator

public BigDecimalValidator()
Construct a strict instance.


BigDecimalValidator

public BigDecimalValidator(boolean strict)

Construct an instance with the specified strict setting.

Parameters:
strict - true if strict Format parsing should be used.

BigDecimalValidator

protected BigDecimalValidator(boolean strict,
                              int formatType,
                              boolean allowFractions)

Construct an instance with the specified strict setting and format type.

The formatType specified what type of NumberFormat is created - valid types are:

Parameters:
strict - true if strict Format parsing should be used.
formatType - The NumberFormat type to create for validation, default is STANDARD_FORMAT.
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 BigDecimalValidator.

validate

public java.math.BigDecimal validate(java.lang.String value)

Validate/convert a BigDecimal using the default Locale.

Parameters:
value - The value validation is being performed on.
Returns:
The parsed BigDecimal if valid or null if invalid.

validate

public java.math.BigDecimal validate(java.lang.String value,
                                     java.lang.String pattern)

Validate/convert a BigDecimal using the specified pattern.

Parameters:
value - The value validation is being performed on.
pattern - The pattern used to validate the value against, or the default for the Locale if null.
Returns:
The parsed BigDecimal if valid or null if invalid.

validate

public java.math.BigDecimal validate(java.lang.String value,
                                     java.util.Locale locale)

Validate/convert a BigDecimal using the specified Locale.

Parameters:
value - The value validation is being performed on.
locale - The locale to use for the number format, system default if null.
Returns:
The parsed BigDecimal if valid or null if invalid.

validate

public java.math.BigDecimal validate(java.lang.String value,
                                     java.lang.String pattern,
                                     java.util.Locale locale)

Validate/convert a BigDecimal using the specified pattern and/ or Locale.

Parameters:
value - The value validation is being performed on.
pattern - The pattern used to validate the value against, or the default for the Locale if null.
locale - The locale to use for the date format, system default if null.
Returns:
The parsed BigDecimal if valid or null if invalid.

isInRange

public boolean isInRange(java.math.BigDecimal value,
                         double min,
                         double max)
Check if the value is within a specified range.

Parameters:
value - The Number value to check.
min - The minimum value of the range.
max - The maximum value of the range.
Returns:
true if the value is within the specified range.

minValue

public boolean minValue(java.math.BigDecimal value,
                        double min)
Check if the value is greater than or equal to a minimum.

Parameters:
value - The value validation is being performed on.
min - The minimum value.
Returns:
true if the value is greater than or equal to the minimum.

maxValue

public boolean maxValue(java.math.BigDecimal value,
                        double max)
Check if the value is less than or equal to a maximum.

Parameters:
value - The value validation is being performed on.
max - The maximum value.
Returns:
true if the value is less than or equal to the maximum.

processParsedValue

protected java.lang.Object processParsedValue(java.lang.Object value,
                                              java.text.Format formatter)
Convert the parsed value to a BigDecimal.

Specified by:
processParsedValue in class AbstractNumberValidator
Parameters:
value - The parsed Number object created.
formatter - The Format used to parse the value with.
Returns:
The parsed Number converted to a BigDecimal.


Copyright (c) 2001-2004 Apache Software Foundation