Class BigDecimalValidator
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
CurrencyValidator
,PercentValidator
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:
- 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 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 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:
- 1.3.0
- See Also:
-
Field Summary
Fields inherited from class org.apache.commons.validator.routines.AbstractNumberValidator
CURRENCY_FORMAT, PERCENT_FORMAT, STANDARD_FORMAT
-
Constructor Summary
ModifierConstructorDescriptionConstructs 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
Modifier and TypeMethodDescriptionstatic BigDecimalValidator
Gets the singleton instance of this validator.boolean
isInRange
(BigDecimal value, double min, double max) Check if the value is within a specified range.boolean
maxValue
(BigDecimal value, double max) Check if the value is less than or equal to a maximum.boolean
minValue
(BigDecimal value, double min) Check if the value is greater than or equal to a minimum.protected Object
processParsedValue
(Object value, Format formatter) Convert the parsed value to aBigDecimal
.Validate/convert aBigDecimal
using the defaultLocale
.Validate/convert aBigDecimal
using the specified pattern.Validate/convert aBigDecimal
using the specified pattern and/ orLocale
.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
-
Constructor Details
-
BigDecimalValidator
public BigDecimalValidator()Constructs a strict instance. -
BigDecimalValidator
Construct an instance with the specified strict setting.
- Parameters:
strict
-true
if strictFormat
parsing should be used.
-
BigDecimalValidator
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 Details
-
getInstance
Gets the singleton instance of this validator.- Returns:
- A singleton instance of the BigDecimalValidator.
-
isInRange
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.
-
maxValue
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.
-
minValue
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.
-
processParsedValue
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
.
-
validate
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
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
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
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.
-