Class DoubleValidator
- All Implemented Interfaces:
Serializable
Double).
This validator provides a number of methods for
validating/converting a String value to
a Double using 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 Double value.
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:
- Since:
- 1.3.0
- See Also:
-
Field Summary
Fields inherited from class AbstractNumberValidator
CURRENCY_FORMAT, PERCENT_FORMAT, STANDARD_FORMATModifier and TypeFieldDescriptionstatic final intCurrencyNumberFormattype.static final intPercentNumberFormattype.static final intStandardNumberFormattype. -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a strict instance.DoubleValidator(boolean strict, int formatType) Construct an instance with the specified strict setting and format type. -
Method Summary
Modifier and TypeMethodDescriptionstatic DoubleValidatorGets the singleton instance of this validator.booleanisInRange(double value, double min, double max) Check if the value is within a specified range.booleanCheck if the value is within a specified range.booleanmaxValue(double value, double max) Check if the value is less than or equal to a maximum.booleanCheck if the value is less than or equal to a maximum.booleanTests if the value is less than or equal to a maximum, comparing the exact values.booleanminValue(double value, double min) Check if the value is greater than or equal to a minimum.booleanCheck if the value is greater than or equal to a minimum.booleanTests if the value is greater than or equal to a minimum, comparing the exact values.protected ObjectprocessParsedValue(Object value, Format formatter) Convert the parsed value to aDouble.Validate/convert aDoubleusing the defaultLocale.Validate/convert aDoubleusing the specified pattern.Validate/convert aDoubleusing the specified pattern and/ orLocale.Validate/convert aDoubleusing the specifiedLocale.Methods inherited from class AbstractNumberValidator
determineScale, getFormat, getFormat, getFormatType, isAllowFractions, isInRange, isValid, parseModifier and TypeMethodDescriptionprotected intdetermineScale(NumberFormat format) Returns the multiplier of theNumberFormat.protected FormatGets aNumberFormatfor the specified pattern and/orLocale.protected FormatGets theNumberFormatfor the specified Locale.intGets the type ofNumberFormatcreated by this validator instance.booleanTests whether the number being validated is a decimal or integer.booleanTests if the value is within a specified range.booleanTests validity using the specifiedLocale.protected ObjectParses the value using the specified pattern.Methods inherited from class AbstractFormatValidator
format, format, format, format, format, isStrict, isValid, isValid, isValid, parseModifier and TypeMethodDescriptionFormats an object into aStringusing the default Locale.Formats an object into aStringusing the specified pattern.Formats an object using the specified pattern and/orLocale.protected StringFormats a value with the specifiedFormat.Formats an object into aStringusing the specified Locale.booleanisStrict()Tests whether validated values should adhere strictly to theFormatused.booleanValidates using the defaultLocale.booleanValidates using the specified pattern.booleanValidates using the specifiedLocale.protected ObjectParses the value with the specifiedFormat.
-
Constructor Details
-
DoubleValidator
public DoubleValidator()Constructs a strict instance. -
DoubleValidator
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.
-
-
Method Details
-
getInstance
Gets the singleton instance of this validator.- Returns:
- A singleton instance of the DoubleValidator.
-
isInRange
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.
-
isInRange
-
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:
trueif the value is less than or equal to the maximum.
-
maxValue
-
maxValue
Tests if the value is less than or equal to a maximum, comparing the exact values.This overrides the
Numberoverload inherited from the superclass, which narrows the bound to adoublebefore comparing and so loses precision for aBigDecimalorBigIntegerbound that carries more significant digits than adoublecan hold. A non-finiteDoubleorFloatoperand keeps thedoubleValue()comparison so the documented infinity behavior is unchanged.- Overrides:
maxValuein classAbstractNumberValidator- 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.
-
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:
trueif the value is greater than or equal to the minimum.
-
minValue
-
minValue
Tests if the value is greater than or equal to a minimum, comparing the exact values.This overrides the
Numberoverload inherited from the superclass, which narrows the bound to adoublebefore comparing and so loses precision for aBigDecimalorBigIntegerbound that carries more significant digits than adoublecan hold. A non-finiteDoubleorFloatoperand keeps thedoubleValue()comparison so the documented infinity behavior is unchanged.- Overrides:
minValuein classAbstractNumberValidator- 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.
-
processParsedValue
Convert the parsed value to aDouble.- Specified by:
processParsedValuein classAbstractNumberValidator- Parameters:
value- The parsedNumberobject created.formatter- The Format used to parse the value with.- Returns:
- The validated/converted
Doublevalue if valid ornullif invalid.
-
validate
-
validate
-
validate
-
validate
Validate/convert aDoubleusing 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
Doubleif valid ornullif invalid.
-