Class ItemsValidator

All Implemented Interfaces:
JsonValidator, JsonSchemaWalker

public class ItemsValidator extends BaseJsonValidator
JsonValidator for items V4 to V2019-09.
  • Field Details

    • logger

      private static final org.slf4j.Logger logger
    • PROPERTY_ADDITIONAL_ITEMS

      private static final String PROPERTY_ADDITIONAL_ITEMS
      See Also:
    • schema

      private final JsonSchema schema
    • tupleSchema

      private final List<JsonSchema> tupleSchema
    • additionalItems

      private final Boolean additionalItems
    • additionalSchema

      private final JsonSchema additionalSchema
    • hasUnevaluatedItemsValidator

      private Boolean hasUnevaluatedItemsValidator
    • additionalItemsEvaluationPath

      private final JsonNodePath additionalItemsEvaluationPath
    • additionalItemsSchemaLocation

      private final SchemaLocation additionalItemsSchemaLocation
    • additionalItemsSchemaNode

      private final com.fasterxml.jackson.databind.JsonNode additionalItemsSchemaNode
  • Constructor Details

  • Method Details

    • validate

      public Set<ValidationMessage> validate(ExecutionContext executionContext, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation)
      Description copied from interface: JsonValidator
      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.
    • doValidate

      private boolean doValidate(ExecutionContext executionContext, SetView<ValidationMessage> errors, int i, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation)
    • walk

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

      private static com.fasterxml.jackson.databind.JsonNode getDefaultNode(JsonSchema schema)
    • walkSchema

      private void walkSchema(ExecutionContext executionContext, JsonSchema walkSchema, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation, boolean shouldValidateSchema, Set<ValidationMessage> validationMessages, String keyword)
    • getTupleSchema

      public List<JsonSchema> getTupleSchema()
    • getSchema

      public JsonSchema getSchema()
    • collectAnnotations

      private boolean collectAnnotations()
    • hasUnevaluatedItemsValidator

      private boolean hasUnevaluatedItemsValidator()
    • preloadJsonSchema

      public void preloadJsonSchema()
      Description copied from interface: JsonValidator
      In case the JsonValidator has a related JsonSchema or several ones, calling preloadJsonSchema will actually load the schema document(s) eagerly.