public abstract class AbstractNumberValidator extends AbstractFormatValidator
Abstract class for Number Validation.
This is a base class for building Number Validators using format parsing.
Modifier and Type | Field and Description |
---|---|
static int |
CURRENCY_FORMAT
Currency
NumberFormat type |
static int |
PERCENT_FORMAT
Percent
NumberFormat type |
static int |
STANDARD_FORMAT
Standard
NumberFormat type |
Constructor and Description |
---|
AbstractNumberValidator(boolean strict,
int formatType,
boolean allowFractions)
Construct an instance with specified strict
and decimal parameters.
|
Modifier and Type | Method and Description |
---|---|
protected int |
determineScale(NumberFormat format)
Returns the multiplier of the
NumberFormat . |
protected Format |
getFormat(Locale locale)
Returns a
NumberFormat for the specified Locale. |
protected Format |
getFormat(String pattern,
Locale locale)
Returns a
NumberFormat for the specified pattern
and/or Locale . |
int |
getFormatType()
Indicates the type of
NumberFormat created
by this validator instance. |
boolean |
isAllowFractions()
Indicates whether the number being validated is
a decimal or integer.
|
boolean |
isInRange(Number value,
Number min,
Number max)
Check if the value is within a specified range.
|
boolean |
isValid(String value,
String pattern,
Locale locale)
Validate using the specified
Locale . |
boolean |
maxValue(Number value,
Number max)
Check if the value is less than or equal to a maximum.
|
boolean |
minValue(Number value,
Number min)
Check if the value is greater than or equal to a minimum.
|
protected Object |
parse(String value,
String pattern,
Locale locale)
Parse the value using the specified pattern.
|
protected abstract Object |
processParsedValue(Object value,
Format formatter)
Process the parsed value, performing any further validation
and type conversion required.
|
public static final int STANDARD_FORMAT
NumberFormat
typepublic static final int CURRENCY_FORMAT
NumberFormat
typepublic static final int PERCENT_FORMAT
NumberFormat
typepublic AbstractNumberValidator(boolean strict, int formatType, boolean allowFractions)
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 boolean isAllowFractions()
Indicates whether the number being validated is a decimal or integer.
true
if decimals are allowed
or false
if the number is an integer.public int getFormatType()
Indicates the type of NumberFormat
created
by this validator instance.
public boolean isValid(String value, String pattern, Locale locale)
Validate using the specified Locale
.
isValid
in class AbstractFormatValidator
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.true
if the value is valid.public boolean isInRange(Number value, Number min, Number max)
value
- The value validation is being performed on.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(Number value, Number 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(Number value, Number 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 parse(String value, String pattern, Locale locale)
Parse the value 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
.locale
- The locale to use for the date format, system default if null.null
if invalid.protected abstract Object processParsedValue(Object value, Format formatter)
Process the parsed value, performing any further validation and type conversion required.
processParsedValue
in class AbstractFormatValidator
value
- The parsed object created.formatter
- The Format used to parse the value with.null
if invalid.protected Format getFormat(String pattern, Locale locale)
Returns a NumberFormat
for the specified pattern
and/or Locale
.
getFormat
in class AbstractFormatValidator
pattern
- The pattern used to validate the value against or
null
to use the default for the Locale
.locale
- The locale to use for the currency format, system default if null.NumberFormat
to created.protected int determineScale(NumberFormat format)
Returns the multiplier of the NumberFormat
.
format
- The NumberFormat
to determine the
multiplier of.Copyright © 2002–2017 The Apache Software Foundation. All rights reserved.