Class PropertiesValidator

All Implemented Interfaces:
JsonValidator, JsonSchemaWalker

public class PropertiesValidator extends BaseJsonValidator
JsonValidator for properties.
  • Field Details

    • PROPERTY

      public static final String PROPERTY
      See Also:
    • logger

      private static final org.slf4j.Logger logger
    • schemas

      private final Map<String,JsonSchema> schemas
    • hasUnevaluatedPropertiesValidator

      private Boolean hasUnevaluatedPropertiesValidator
  • 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.
    • validate

      protected Set<ValidationMessage> validate(ExecutionContext executionContext, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation, boolean walk)
    • 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.
    • collectAnnotations

      private boolean collectAnnotations()
    • hasUnevaluatedPropertiesValidator

      private boolean hasUnevaluatedPropertiesValidator()
    • applyPropertyDefaults

      private void applyPropertyDefaults(com.fasterxml.jackson.databind.node.ObjectNode node)
    • getDefaultNode

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

      private void walkSchema(ExecutionContext executionContext, Map.Entry<String,JsonSchema> entry, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation, boolean shouldValidateSchema, SetView<ValidationMessage> validationMessages, WalkListenerRunner propertyWalkListenerRunner)
    • getSchemas

      public Map<String,JsonSchema> getSchemas()
    • 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.