Class AbstractNumberValidator

    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractNumberValidator​(boolean strict, int formatType, boolean allowFractions)
      Construct an instance with specified strict and decimal parameters.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected int determineScale​(java.text.NumberFormat format)
      Returns the multiplier of the NumberFormat.
      protected java.text.Format getFormat​(java.lang.String pattern, java.util.Locale locale)
      Returns a NumberFormat for the specified pattern and/or Locale.
      protected java.text.Format getFormat​(java.util.Locale locale)
      Returns a NumberFormat for the specified 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​(java.lang.Number value, java.lang.Number min, java.lang.Number max)
      Check if the value is within a specified range.
      boolean isValid​(java.lang.String value, java.lang.String pattern, java.util.Locale locale)
      Validate using the specified Locale.
      boolean maxValue​(java.lang.Number value, java.lang.Number max)
      Check if the value is less than or equal to a maximum.
      boolean minValue​(java.lang.Number value, java.lang.Number min)
      Check if the value is greater than or equal to a minimum.
      protected java.lang.Object parse​(java.lang.String value, java.lang.String pattern, java.util.Locale locale)
      Parse the value using the specified pattern.
      protected abstract java.lang.Object processParsedValue​(java.lang.Object value, java.text.Format formatter)
      Process the parsed value, performing any further validation and type conversion required.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • STANDARD_FORMAT

        public static final int STANDARD_FORMAT
        Standard NumberFormat type
        See Also:
        Constant Field Values
      • CURRENCY_FORMAT

        public static final int CURRENCY_FORMAT
        Currency NumberFormat type
        See Also:
        Constant Field Values
      • PERCENT_FORMAT

        public static final int PERCENT_FORMAT
        Percent NumberFormat type
        See Also:
        Constant Field Values
      • allowFractions

        private final boolean allowFractions
      • formatType

        private final int formatType
    • Constructor Detail

      • AbstractNumberValidator

        public AbstractNumberValidator​(boolean strict,
                                       int formatType,
                                       boolean allowFractions)
        Construct an instance with specified strict and decimal parameters.
        Parameters:
        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.
    • Method Detail

      • isAllowFractions

        public boolean isAllowFractions()

        Indicates whether the number being validated is a decimal or integer.

        Returns:
        true if decimals are allowed or false if the number is an integer.
      • getFormatType

        public int getFormatType()

        Indicates the type of NumberFormat created by this validator instance.

        Returns:
        the format type created.
      • isValid

        public boolean isValid​(java.lang.String value,
                               java.lang.String pattern,
                               java.util.Locale locale)

        Validate using the specified Locale.

        Specified by:
        isValid in class AbstractFormatValidator
        Parameters:
        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.
        Returns:
        true if the value is valid.
      • isInRange

        public boolean isInRange​(java.lang.Number value,
                                 java.lang.Number min,
                                 java.lang.Number max)
        Check if the value is within a specified range.
        Parameters:
        value - The value validation is being performed on.
        min - The minimum value of the range.
        max - The maximum value of the range.
        Returns:
        true if the value is within the specified range.
      • minValue

        public boolean minValue​(java.lang.Number value,
                                java.lang.Number 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:
        true if the value is greater than or equal to the minimum.
      • maxValue

        public boolean maxValue​(java.lang.Number value,
                                java.lang.Number 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:
        true if the value is less than or equal to the maximum.
      • parse

        protected java.lang.Object parse​(java.lang.String value,
                                         java.lang.String pattern,
                                         java.util.Locale locale)

        Parse the value using 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 the Locale if null.
        locale - The locale to use for the date format, system default if null.
        Returns:
        The parsed value if valid or null if invalid.
      • processParsedValue

        protected abstract java.lang.Object processParsedValue​(java.lang.Object value,
                                                               java.text.Format formatter)

        Process the parsed value, performing any further validation and type conversion required.

        Specified by:
        processParsedValue in class AbstractFormatValidator
        Parameters:
        value - The parsed object created.
        formatter - The Format used to parse the value with.
        Returns:
        The parsed value converted to the appropriate type if valid or null if invalid.
      • getFormat

        protected java.text.Format getFormat​(java.lang.String pattern,
                                             java.util.Locale locale)

        Returns a NumberFormat for the specified pattern and/or Locale.

        Specified by:
        getFormat in class AbstractFormatValidator
        Parameters:
        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.
        Returns:
        The NumberFormat to created.
      • determineScale

        protected int determineScale​(java.text.NumberFormat format)

        Returns the multiplier of the NumberFormat.

        Parameters:
        format - The NumberFormat to determine the multiplier of.
        Returns:
        The multiplying factor for the format..
      • getFormat

        protected java.text.Format getFormat​(java.util.Locale locale)

        Returns a NumberFormat for the specified Locale.

        Parameters:
        locale - The locale a NumberFormat is required for, system default if null.
        Returns:
        The NumberFormat to created.