Class PrefixItemsValidator

All Implemented Interfaces:
JsonValidator, JsonSchemaWalker

public class PrefixItemsValidator extends BaseJsonValidator
JsonValidator for prefixItems.
  • Field Details

    • logger

      private static final org.slf4j.Logger logger
    • tupleSchema

      private final List<JsonSchema> tupleSchema
    • hasUnevaluatedItemsValidator

      private Boolean hasUnevaluatedItemsValidator
  • 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.
    • 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)
    • doWalk

      private void doWalk(ExecutionContext executionContext, Set<ValidationMessage> validationMessages, int i, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation, boolean shouldValidateSchema)
    • 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)
    • getTupleSchema

      public List<JsonSchema> getTupleSchema()
    • 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.