org.apache.commons.validator.routines

## Class AbstractFormatValidator

- java.lang.Object
- - org.apache.commons.validator.routines.AbstractFormatValidator

- All Implemented Interfaces:
    Serializable
  Direct Known Subclasses:
    AbstractCalendarValidator, AbstractNumberValidator

      public abstract class AbstractFormatValidator
      extends Object
      implements 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$
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and 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 and Description
    --- | ---
    `String` | `format(Object value)` Format an object into a `String` using the default Locale.
    `protected String` | `format(Object value, Format formatter)` Format a value with the specified `Format`.
    `String` | `format(Object value, Locale locale)` Format an object into a `String` using the specified Locale.
    `String` | `format(Object value, String pattern)` Format an object into a `String` using the specified pattern.
    `String` | `format(Object value, String pattern, Locale locale)` Format an object using the specified pattern and/or `Locale`.
    `protected abstract Format` | `getFormat(String pattern, 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(String value)` Validate using the default `Locale`.
    `boolean` | `isValid(String value, Locale locale)` Validate using the specified `Locale`.
    `boolean` | `isValid(String value, String pattern)` Validate using the specified pattern.
    `abstract boolean` | `isValid(String value, String pattern, Locale locale)` Validate using the specified pattern and/or `Locale`.
    `protected Object` | `parse(String value, Format formatter)` Parse the value with the specified `Format`.
    `protected abstract Object` | `processParsedValue(Object value, 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`

- - ### 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(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(String value,
                                 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(String value,
                                 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(String value,
                                          String pattern,
                                          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 String format(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 String format(Object value,
                               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 String format(Object value,
                               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 String format(Object value,
                               String pattern,
                               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 String format(Object value,
                                  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 Object parse(String value,
                                 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 Object processParsedValue(Object value,
                                                       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 Format getFormat(String pattern,
                                              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.

Copyright © 2002–2020 The Apache Software Foundation. All rights reserved.