Interface JsonValidator

All Superinterfaces:
JsonSchemaWalker
All Known Implementing Classes:
AbstractJsonValidator, AdditionalPropertiesValidator, AllOfValidator, AnyOfValidator, BaseFormatJsonValidator, BaseJsonValidator, ConstValidator, ContainsValidator, ContentEncodingValidator, ContentMediaTypeValidator, DependenciesValidator, DependentRequired, DependentSchemas, DiscriminatorValidator, DynamicRefValidator, EnumValidator, ExclusiveMaximumValidator, ExclusiveMinimumValidator, FalseValidator, FormatValidator, IfValidator, ItemsValidator, ItemsValidator202012, JsonSchema, MaximumValidator, MaxItemsValidator, MaxLengthValidator, MaxPropertiesValidator, MinimumValidator, MinItemsValidator, MinLengthValidator, MinMaxContainsValidator, MinPropertiesValidator, MultipleOfValidator, NotAllowedValidator, NotValidator, OneOfValidator, PatternPropertiesValidator, PatternValidator, PrefixItemsValidator, PropertiesValidator, PropertyNamesValidator, ReadOnlyValidator, RecursiveRefValidator, RefValidator, RequiredValidator, TrueValidator, TypeValidator, UnevaluatedItemsValidator, UnevaluatedPropertiesValidator, UnionTypeValidator, UniqueItemsValidator, WriteOnlyValidator

public interface JsonValidator extends JsonSchemaWalker
Standard json validator interface, implemented by all validators and JsonSchema.
  • Method Summary

    Modifier and Type
    Method
    Description
    The evaluation path is the set of keys, starting from the schema root, through which evaluation passes to reach the schema object that produced a specific result.
    The keyword of the validator.
    The schema location is the canonical URI of the schema object plus a JSON Pointer fragment indicating the subschema that produced a result.
    default void
    In case the JsonValidator has a related JsonSchema or several ones, calling preloadJsonSchema will actually load the schema document(s) eagerly.
    validate(ExecutionContext executionContext, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation)
    Validate the given JsonNode, the given node is the child node of the root node at given data path.
    walk(ExecutionContext executionContext, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation, boolean shouldValidateSchema)
    This is default implementation of walk method.
  • Method Details

    • validate

      Set<ValidationMessage> validate(ExecutionContext executionContext, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation)
      Validate the given JsonNode, the given node is the child node of the root node at given data path.
      Parameters:
      executionContext - ExecutionContext
      node - JsonNode
      rootNode - JsonNode
      instanceLocation - JsonNodePath
      Returns:
      A list of ValidationMessage if there is any validation error, or an empty list if there is no error.
    • preloadJsonSchema

      default void preloadJsonSchema() throws JsonSchemaException
      In case the JsonValidator has a related JsonSchema or several ones, calling preloadJsonSchema will actually load the schema document(s) eagerly.
      Throws:
      JsonSchemaException - (a RuntimeException) in case the JsonSchema or nested schemas are invalid (like $ref not resolving)
      Since:
      1.0.54
    • walk

      default Set<ValidationMessage> walk(ExecutionContext executionContext, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation, boolean shouldValidateSchema)
      This is default implementation of walk method. Its job is to call the validate method if shouldValidateSchema is enabled.
      Specified by:
      walk in interface JsonSchemaWalker
      Parameters:
      executionContext - ExecutionContext
      node - JsonNode
      rootNode - JsonNode
      instanceLocation - JsonNodePath
      shouldValidateSchema - boolean
      Returns:
      a set of validation messages if shouldValidateSchema is true.
    • getSchemaLocation

      SchemaLocation getSchemaLocation()
      The schema location is the canonical URI of the schema object plus a JSON Pointer fragment indicating the subschema that produced a result. In contrast with the evaluation path, the schema location MUST NOT include by-reference applicators such as $ref or $dynamicRef.
      Returns:
      the schema location
    • getEvaluationPath

      JsonNodePath getEvaluationPath()
      The evaluation path is the set of keys, starting from the schema root, through which evaluation passes to reach the schema object that produced a specific result.
      Returns:
      the evaluation path
    • getKeyword

      String getKeyword()
      The keyword of the validator.
      Returns:
      the keyword