Class BigDecimalValidator
- java.lang.Object
-
- org.apache.commons.validator.routines.AbstractFormatValidator
-
- org.apache.commons.validator.routines.AbstractNumberValidator
-
- 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 aBigDecimal
usingjava.text.NumberFormat
to parse either:- using the default format for the default
Locale
- using a specified pattern with the default
Locale
- using the default format for a specified
Locale
- using a specified pattern with a specified
Locale
Use one of the
isValid()
methods to just validate or one of thevalidate()
methods to validate and receive a convertedBigDecimal
value.Fraction/decimal values are automatically trimmed to the appropriate length.
Once a value has been successfully converted the following methods can be used to perform minimum, maximum and range checks:
minValue()
checks whether the value is greater than or equal to a specified minimum.maxValue()
checks whether the value is less than or equal to a specified maximum.isInRange()
checks whether the value is within a specified range of values.
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:- using the default format for the default
Locale
- using a specified pattern with the default
Locale
- using the default format for a specified
Locale
- using a specified pattern with a specified
Locale
- Since:
- Validator 1.3.0
- Version:
- $Revision: 1649191 $
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private static long
serialVersionUID
private static BigDecimalValidator
VALIDATOR
-
Fields inherited from class org.apache.commons.validator.routines.AbstractNumberValidator
CURRENCY_FORMAT, PERCENT_FORMAT, STANDARD_FORMAT
-
-
Constructor Summary
Constructors Modifier Constructor Description 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 aBigDecimal
.java.math.BigDecimal
validate(java.lang.String value)
Validate/convert aBigDecimal
using the defaultLocale
.java.math.BigDecimal
validate(java.lang.String value, java.lang.String pattern)
Validate/convert aBigDecimal
using the specified pattern.java.math.BigDecimal
validate(java.lang.String value, java.lang.String pattern, java.util.Locale locale)
Validate/convert aBigDecimal
using the specified pattern and/ orLocale
.java.math.BigDecimal
validate(java.lang.String value, java.util.Locale locale)
Validate/convert aBigDecimal
using the specifiedLocale
.-
Methods inherited from class org.apache.commons.validator.routines.AbstractNumberValidator
determineScale, getFormat, getFormat, getFormatType, isAllowFractions, isInRange, isValid, maxValue, minValue, parse
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
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 strictFormat
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 ofNumberFormat
is created - valid types are:- AbstractNumberValidator.STANDARD_FORMAT -to create standard number formats (the default).
- AbstractNumberValidator.CURRENCY_FORMAT -to create currency number formats.
- AbstractNumberValidator.PERCENT_FORMAT -to create percent number formats (the default).
- Parameters:
strict
-true
if strictFormat
parsing should be used.formatType
- TheNumberFormat
type to create for validation, default is STANDARD_FORMAT.allowFractions
-true
if fractions are allowed orfalse
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 defaultLocale
.- Parameters:
value
- The value validation is being performed on.- Returns:
- The parsed
BigDecimal
if valid ornull
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 theLocale
ifnull
.- Returns:
- The parsed
BigDecimal
if valid ornull
if invalid.
-
validate
public java.math.BigDecimal validate(java.lang.String value, java.util.Locale locale)
Validate/convert a
BigDecimal
using the specifiedLocale
.- 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 ornull
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/ orLocale
.- Parameters:
value
- The value validation is being performed on.pattern
- The pattern used to validate the value against, or the default for theLocale
ifnull
.locale
- The locale to use for the date format, system default if null.- Returns:
- The parsed
BigDecimal
if valid ornull
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
- TheNumber
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 aBigDecimal
.- Specified by:
processParsedValue
in classAbstractNumberValidator
- Parameters:
value
- The parsedNumber
object created.formatter
- The Format used to parse the value with.- Returns:
- The parsed
Number
converted to aBigDecimal
.
-
-