Class ContainsValidator

All Implemented Interfaces:
JsonValidator, JsonSchemaWalker

public class ContainsValidator extends BaseJsonValidator
JsonValidator for contains.
  • Field Details

    • logger

      private static final org.slf4j.Logger logger
    • CONTAINS_MAX

      private static final String CONTAINS_MAX
      See Also:
    • CONTAINS_MIN

      private static final String CONTAINS_MIN
      See Also:
    • schema

      private final JsonSchema schema
    • isMinV201909

      private final boolean isMinV201909
    • min

      private final Integer min
    • max

      private final Integer max
    • 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.
    • 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.
    • boundsViolated

      private Set<ValidationMessage> boundsViolated(ValidatorTypeCode validatorTypeCode, Locale locale, boolean failFast, com.fasterxml.jackson.databind.JsonNode instanceNode, JsonNodePath instanceLocation, int bounds)
    • collectAnnotations

      private boolean collectAnnotations()
      Determine if annotations must be collected for evaluation.

      This will be collected regardless of whether it is needed for reporting.

      Returns:
      true if annotations must be collected for evaluation.
    • hasUnevaluatedItemsValidator

      private boolean hasUnevaluatedItemsValidator()