Class AdditionalPropertiesValidator

All Implemented Interfaces:
JsonValidator, JsonSchemaWalker

public class AdditionalPropertiesValidator extends BaseJsonValidator
JsonValidator for additionalProperties.
  • Field Details

    • logger

      private static final org.slf4j.Logger logger
    • allowAdditionalProperties

      private final boolean allowAdditionalProperties
    • additionalPropertiesSchema

      private final JsonSchema additionalPropertiesSchema
    • allowedProperties

      private final Set<String> allowedProperties
    • patternProperties

      private final List<RegularExpression> patternProperties
    • 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.
    • handledByPatternProperties

      private boolean handledByPatternProperties(String pname)
    • collectAnnotations

      private boolean collectAnnotations()
    • hasUnevaluatedPropertiesValidator

      private boolean hasUnevaluatedPropertiesValidator()
    • 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.