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
Stringvalue to aBigDecimalusingjava.text.NumberFormatto 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 convertedBigDecimalvalue.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 longserialVersionUIDprivate static BigDecimalValidatorVALIDATOR-
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.protectedBigDecimalValidator(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 BigDecimalValidatorgetInstance()Return a singleton instance of this validator.booleanisInRange(java.math.BigDecimal value, double min, double max)Check if the value is within a specified range.booleanmaxValue(java.math.BigDecimal value, double max)Check if the value is less than or equal to a maximum.booleanminValue(java.math.BigDecimal value, double min)Check if the value is greater than or equal to a minimum.protected java.lang.ObjectprocessParsedValue(java.lang.Object value, java.text.Format formatter)Convert the parsed value to aBigDecimal.java.math.BigDecimalvalidate(java.lang.String value)Validate/convert aBigDecimalusing the defaultLocale.java.math.BigDecimalvalidate(java.lang.String value, java.lang.String pattern)Validate/convert aBigDecimalusing the specified pattern.java.math.BigDecimalvalidate(java.lang.String value, java.lang.String pattern, java.util.Locale locale)Validate/convert aBigDecimalusing the specified pattern and/ orLocale.java.math.BigDecimalvalidate(java.lang.String value, java.util.Locale locale)Validate/convert aBigDecimalusing 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-trueif strictFormatparsing should be used.
-
BigDecimalValidator
protected BigDecimalValidator(boolean strict, int formatType, boolean allowFractions)Construct an instance with the specified strict setting and format type.
The
formatTypespecified what type ofNumberFormatis 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-trueif strictFormatparsing should be used.formatType- TheNumberFormattype to create for validation, default is STANDARD_FORMAT.allowFractions-trueif fractions are allowed orfalseif 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
BigDecimalusing the defaultLocale.- Parameters:
value- The value validation is being performed on.- Returns:
- The parsed
BigDecimalif valid ornullif invalid.
-
validate
public java.math.BigDecimal validate(java.lang.String value, java.lang.String pattern)Validate/convert a
BigDecimalusing 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 theLocaleifnull.- Returns:
- The parsed
BigDecimalif valid ornullif invalid.
-
validate
public java.math.BigDecimal validate(java.lang.String value, java.util.Locale locale)Validate/convert a
BigDecimalusing 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
BigDecimalif valid ornullif invalid.
-
validate
public java.math.BigDecimal validate(java.lang.String value, java.lang.String pattern, java.util.Locale locale)Validate/convert a
BigDecimalusing 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 theLocaleifnull.locale- The locale to use for the date format, system default if null.- Returns:
- The parsed
BigDecimalif valid ornullif invalid.
-
isInRange
public boolean isInRange(java.math.BigDecimal value, double min, double max)Check if the value is within a specified range.- Parameters:
value- TheNumbervalue to check.min- The minimum value of the range.max- The maximum value of the range.- Returns:
trueif 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:
trueif 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:
trueif 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:
processParsedValuein classAbstractNumberValidator- Parameters:
value- The parsedNumberobject created.formatter- The Format used to parse the value with.- Returns:
- The parsed
Numberconverted to aBigDecimal.
-
-