Class BigIntegerValidator
- All Implemented Interfaces:
Serializable
java.math.BigInteger).
This validator provides a number of methods for validating/converting a String value to a BigInteger 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
BigInteger 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.BigIntegerValidator(boolean strict, int formatType) Construct an instance with the specified strict setting and format type. -
Method Summary
Modifier and TypeMethodDescriptionprotected FormatReturns aFormatthat parses to aBigDecimalso the exact value of the input is preserved.static BigIntegerValidatorGets the singleton instance of this validator.booleanisInRange(BigInteger value, long min, long max) Tests if the value is within a specified range.booleanTests if the value is less than or equal to a maximum, comparing the exact values.booleanmaxValue(BigInteger value, long max) Tests if the value is less than or equal to a maximum.booleanTests if the value is greater than or equal to a minimum, comparing the exact values.booleanminValue(BigInteger value, long min) Tests if the value is greater than or equal to a minimum.protected ObjectprocessParsedValue(Object value, Format formatter) Converts the parsed value to aBigInteger.Validates and converts aBigIntegerusing the defaultLocale.Validates and converts aBigIntegerusing the specified pattern.Validates and converts aBigIntegerusing the specified pattern and/ orLocale.Validates and converts aBigIntegerusing the specifiedLocale.Methods inherited from class AbstractNumberValidator
determineScale, getFormat, getFormatType, isAllowFractions, isInRange, isValid, parseModifier and TypeMethodDescriptionprotected intdetermineScale(NumberFormat format) Returns the multiplier of theNumberFormat.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
-
BigIntegerValidator
public BigIntegerValidator()Constructs a strict instance. -
BigIntegerValidator
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 BigIntegerValidator.
-
getFormat
Returns aFormatthat parses to aBigDecimalso the exact value of the input is preserved.The superclass leaves
DecimalFormatin its default mode, whereparseyields aDoublefor a value outside thelongrange and so rounds an integer carrying more significant digits than adoublecan hold. EnablingDecimalFormat.setParseBigDecimal(boolean)keeps the full magnitude through parsing before it is converted to aBigInteger.- Overrides:
getFormatin classAbstractNumberValidator- Parameters:
pattern- The pattern used to validate the value against ornullto use the default for theLocale.locale- The locale to use for the format, system default if null.- Returns:
- The
Formatto use.
-
isInRange
Tests 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.
-
maxValue
Tests 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
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 value to alongbefore comparing and so loses magnitude for aBigIntegeroutside the long range. The operands are compared asBigDecimalso a non-integer bound keeps its fractional part instead of being truncated towards zero. A non-finiteDoubleorFloatoperand keeps thedoubleValue()comparison, sinceBigDecimalcannot representNaNor an infinity.- 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
Tests 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
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 value to alongbefore comparing and so loses magnitude for aBigIntegeroutside the long range. The operands are compared asBigDecimalso a non-integer bound keeps its fractional part instead of being truncated towards zero. A non-finiteDoubleorFloatoperand keeps thedoubleValue()comparison, sinceBigDecimalcannot representNaNor an infinity.- 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
Converts the parsed value to aBigInteger.- Specified by:
processParsedValuein classAbstractNumberValidator- Parameters:
value- The parsedNumberobject created.formatter- The Format used to parse the value with.- Returns:
- The parsed
Numberconverted to aBigInteger.
-
validate
Validates and converts aBigIntegerusing the defaultLocale.- Parameters:
value- The value validation is being performed on.- Returns:
- The parsed
BigIntegerif valid ornullif invalid.
-
validate
Validates and converts aBigIntegerusing 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
BigIntegerif valid ornullif invalid.
-
validate
Validates and converts aBigIntegerusing the specified pattern.- Parameters:
value- The value validation is being performed on.pattern- The pattern used to validate the value against.- Returns:
- The parsed
BigIntegerif valid ornullif invalid.
-
validate
Validates and converts aBigIntegerusing 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
BigIntegerif valid ornullif invalid.
-