Interface FormatValidator

All Known Implementing Classes:
DateFormatValidator, DateTimeFormatValidator, EmailFormatValidator, HostnameFormatValidator, IPV4Validator, IPV6Validator, JsonPointerFormatValidator, RegexFormatValidator, RelativeJsonPointerFormatValidator, TemporalFormatValidator, TimeFormatValidator, URIFormatValidator, URIReferenceFormatValidator, URITemplateFormatValidator, URIV4FormatValidator, WrappingFormatValidator
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface FormatValidator
Implementations perform the validation against the "format" keyword (see JSON Schema spec section 7).
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final FormatValidator
    No-operation implementation (never throws {always returns Optional.empty()).
  • Method Summary

    Modifier and Type
    Method
    Description
    forFormat(String formatName)
    Static factory method for FormatValidator implementations supporting the formatNames mandated by the json schema spec.
    default String
    Provides the name of this format.
    validate(String subject)
    Implementation-specific validation of subject.
  • Field Details

  • Method Details

    • forFormat

      static FormatValidator forFormat(String formatName)
      Static factory method for FormatValidator implementations supporting the formatNames mandated by the json schema spec.
      • date-time
      • email
      • hostname
      • uri
      • ipv4
      • ipv6
      Parameters:
      formatName - one of the 6 built-in formats.
      Returns:
      a FormatValidator implementation handling the formatName format.
    • validate

      Optional<String> validate(String subject)
      Implementation-specific validation of subject. If a validation error occurs then implementations should return a programmer-friendly error message as a String wrapped in an Optional. If the validation succeeded then an empty optional should be returned.
      Parameters:
      subject - the string to be validated
      Returns:
      an Optional wrapping the error message if a validation error occured, otherwise an empty optional.
    • formatName

      default String formatName()
      Provides the name of this format.

      Unless specified otherwise the SchemaLoader will use this name to recognize string schemas using this format.

      The default implementation of this method returns "unnamed-format". It is strongly recommended for implementations to give a more meaningful name by overriding this method.
      Returns:
      the format name.