Class AbstractFormatValidator

  • All Implemented Interfaces:
    java.io.Serializable
    Direct Known Subclasses:
    AbstractCalendarValidator, AbstractNumberValidator

    public abstract class AbstractFormatValidator
    extends java.lang.Object
    implements java.io.Serializable

    Abstract class for Format based Validation.

    This is a base class for building Date and Number Validators using format parsing.

    Since:
    Validator 1.3.0
    Version:
    $Revision: 1649191 $
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static long serialVersionUID  
      private boolean strict  
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractFormatValidator​(boolean strict)
      Construct an instance with the specified strict setting.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String format​(java.lang.Object value)
      Format an object into a String using the default Locale.
      java.lang.String format​(java.lang.Object value, java.lang.String pattern)
      Format an object into a String using the specified pattern.
      java.lang.String format​(java.lang.Object value, java.lang.String pattern, java.util.Locale locale)
      Format an object using the specified pattern and/or Locale.
      protected java.lang.String format​(java.lang.Object value, java.text.Format formatter)
      Format a value with the specified Format.
      java.lang.String format​(java.lang.Object value, java.util.Locale locale)
      Format an object into a String using the specified Locale.
      protected abstract java.text.Format getFormat​(java.lang.String pattern, java.util.Locale locale)
      Returns a Format for the specified pattern and/or Locale.
      boolean isStrict()
      Indicates whether validated values should adhere strictly to the Format used.
      boolean isValid​(java.lang.String value)
      Validate using the default Locale.
      boolean isValid​(java.lang.String value, java.lang.String pattern)
      Validate using the specified pattern.
      abstract boolean isValid​(java.lang.String value, java.lang.String pattern, java.util.Locale locale)
      Validate using the specified pattern and/or Locale.
      boolean isValid​(java.lang.String value, java.util.Locale locale)
      Validate using the specified Locale.
      protected java.lang.Object parse​(java.lang.String value, java.text.Format formatter)
      Parse the value with the specified Format.
      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

      • strict

        private final boolean strict
    • Constructor Detail

      • AbstractFormatValidator

        public AbstractFormatValidator​(boolean strict)
        Construct an instance with the specified strict setting.
        Parameters:
        strict - true if strict Format parsing should be used.
    • Method Detail

      • isStrict

        public boolean isStrict()

        Indicates whether validated values should adhere strictly to the Format used.

        Typically implementations of Format ignore invalid characters at the end of the value and just stop parsing. For example parsing a date value of 01/01/20x0 using a pattern of dd/MM/yyyy will result in a year of 20 if strict is set to false, whereas setting strict to true will cause this value to fail validation.

        Returns:
        true if strict Format parsing should be used.
      • isValid

        public boolean isValid​(java.lang.String value)

        Validate using the default Locale.

        Parameters:
        value - The value validation is being performed on.
        Returns:
        true if the value is valid.
      • isValid

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

        Validate using the specified pattern.

        Parameters:
        value - The value validation is being performed on.
        pattern - The pattern used to validate the value against.
        Returns:
        true if the value is valid.
      • isValid

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

        Validate using the specified Locale.

        Parameters:
        value - The value validation is being performed on.
        locale - The locale to use for the Format, defaults to the default
        Returns:
        true if the value is valid.
      • isValid

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

        Validate using the specified pattern and/or Locale.

        Parameters:
        value - The value validation is being performed on.
        pattern - The pattern used to format the value.
        locale - The locale to use for the Format, defaults to the default
        Returns:
        true if the value is valid.
      • format

        public java.lang.String format​(java.lang.Object value)

        Format an object into a String using the default Locale.

        Parameters:
        value - The value validation is being performed on.
        Returns:
        The value formatted as a String.
      • format

        public java.lang.String format​(java.lang.Object value,
                                       java.lang.String pattern)

        Format an object into a String using the specified pattern.

        Parameters:
        value - The value validation is being performed on.
        pattern - The pattern used to format the value.
        Returns:
        The value formatted as a String.
      • format

        public java.lang.String format​(java.lang.Object value,
                                       java.util.Locale locale)

        Format an object into a String using the specified Locale.

        Parameters:
        value - The value validation is being performed on.
        locale - The locale to use for the Format.
        Returns:
        The value formatted as a String.
      • format

        public java.lang.String format​(java.lang.Object value,
                                       java.lang.String pattern,
                                       java.util.Locale locale)

        Format an object using the specified pattern and/or Locale.

        Parameters:
        value - The value validation is being performed on.
        pattern - The pattern used to format the value.
        locale - The locale to use for the Format.
        Returns:
        The value formatted as a String.
      • format

        protected java.lang.String format​(java.lang.Object value,
                                          java.text.Format formatter)

        Format a value with the specified Format.

        Parameters:
        value - The value to be formatted.
        formatter - The Format to use.
        Returns:
        The formatted value.
      • parse

        protected java.lang.Object parse​(java.lang.String value,
                                         java.text.Format formatter)

        Parse the value with the specified Format.

        Parameters:
        value - The value to be parsed.
        formatter - The Format to parse the value with.
        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.

        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 abstract java.text.Format getFormat​(java.lang.String pattern,
                                                      java.util.Locale locale)

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

        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.