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:
Locale
Locale
Locale
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:
Locale
Locale
Locale
Locale
CURRENCY_FORMAT, PERCENT_FORMAT, STANDARD_FORMAT
Modifier | Constructor and 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.
|
Modifier and Type | Method and Description |
---|---|
static BigDecimalValidator |
getInstance()
Return a 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 a
BigDecimal . |
BigDecimal |
validate(String value)
Validate/convert a
BigDecimal using the default
Locale . |
BigDecimal |
validate(String value,
Locale locale)
Validate/convert a
BigDecimal using the
specified Locale . |
BigDecimal |
validate(String value,
String pattern)
Validate/convert a
BigDecimal using the
specified pattern. |
BigDecimal |
validate(String value,
String pattern,
Locale locale)
Validate/convert a
BigDecimal using the
specified pattern and/ or Locale . |
determineScale, getFormat, getFormat, getFormatType, isAllowFractions, isInRange, isValid, maxValue, minValue, parse
public BigDecimalValidator()
public BigDecimalValidator(boolean strict)
Construct an instance with the specified strict setting.
strict
- true
if strict
Format
parsing should be used.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:
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.public static BigDecimalValidator getInstance()
public BigDecimal validate(String value)
Validate/convert a BigDecimal
using the default
Locale
.
value
- The value validation is being performed on.BigDecimal
if valid or null
if invalid.public BigDecimal validate(String value, String pattern)
Validate/convert a BigDecimal
using the
specified pattern.
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
.BigDecimal
if valid or null
if invalid.public BigDecimal validate(String value, Locale locale)
Validate/convert a BigDecimal
using the
specified Locale
.
value
- The value validation is being performed on.locale
- The locale to use for the number format, system default if null.BigDecimal
if valid or null
if invalid.public BigDecimal validate(String value, String pattern, Locale locale)
Validate/convert a BigDecimal
using the
specified pattern and/ or Locale
.
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.BigDecimal
if valid or null
if invalid.public boolean isInRange(BigDecimal value, double min, double max)
value
- The Number
value to check.min
- The minimum value of the range.max
- The maximum value of the range.true
if the value is within the
specified range.public boolean minValue(BigDecimal value, double min)
value
- The value validation is being performed on.min
- The minimum value.true
if the value is greater than
or equal to the minimum.public boolean maxValue(BigDecimal value, double max)
value
- The value validation is being performed on.max
- The maximum value.true
if the value is less than
or equal to the maximum.protected Object processParsedValue(Object value, Format formatter)
BigDecimal
.processParsedValue
in class AbstractNumberValidator
value
- The parsed Number
object created.formatter
- The Format used to parse the value with.Number
converted to a
BigDecimal
.Copyright © 2002–2020 The Apache Software Foundation. All rights reserved.