Package com.networknt.schema
Class ContainsValidator
java.lang.Object
com.networknt.schema.ValidationMessageHandler
com.networknt.schema.BaseJsonValidator
com.networknt.schema.ContainsValidator
- All Implemented Interfaces:
JsonValidator
,JsonSchemaWalker
JsonValidator
for contains.-
Nested Class Summary
Nested classes/interfaces inherited from class com.networknt.schema.BaseJsonValidator
BaseJsonValidator.JsonNodePathJsonPath, BaseJsonValidator.JsonNodePathJsonPointer, BaseJsonValidator.JsonNodePathLegacy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private static final String
private Boolean
private final boolean
private static final org.slf4j.Logger
private final Integer
private final Integer
private final JsonSchema
Fields inherited from class com.networknt.schema.BaseJsonValidator
schemaNode, suppressSubSchemaRetrieval, validationContext
Fields inherited from class com.networknt.schema.ValidationMessageHandler
errorMessage, errorMessageKeyword, errorMessageType, evaluationParentSchema, evaluationPath, keyword, messageSource, parentSchema, schemaLocation
-
Constructor Summary
ConstructorsConstructorDescriptionContainsValidator
(SchemaLocation schemaLocation, JsonNodePath evaluationPath, com.fasterxml.jackson.databind.JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext) -
Method Summary
Modifier and TypeMethodDescriptionprivate Set
<ValidationMessage> boundsViolated
(ValidatorTypeCode validatorTypeCode, Locale locale, boolean failFast, com.fasterxml.jackson.databind.JsonNode instanceNode, JsonNodePath instanceLocation, int bounds) private boolean
Determine if annotations must be collected for evaluation.private boolean
void
In case theJsonValidator
has a relatedJsonSchema
or several ones, calling preloadJsonSchema will actually load the schema document(s) eagerly.validate
(ExecutionContext executionContext, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation) Validate the given JsonNode, the given node is the child node of the root node at given data path.Methods inherited from class com.networknt.schema.BaseJsonValidator
atRoot, checkDiscriminatorMatch, collectAnnotations, collectAnnotations, debug, equals, fetchSubSchemaNode, getEvaluationParentSchema, getEvaluationPath, getKeyword, getNodeFieldType, getParentSchema, getSchemaLocation, getSchemaNode, hasAdjacentKeywordInEvaluationPath, message, preloadJsonSchemas, putAnnotation, registerAndMergeDiscriminator, toString, validate
Methods inherited from class com.networknt.schema.ValidationMessageHandler
getErrorMessage, getErrorMessageType, getMessageNode
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.networknt.schema.JsonValidator
walk
-
Field Details
-
logger
private static final org.slf4j.Logger logger -
CONTAINS_MAX
- See Also:
-
CONTAINS_MIN
- See Also:
-
schema
-
isMinV201909
private final boolean isMinV201909 -
min
-
max
-
hasUnevaluatedItemsValidator
-
-
Constructor Details
-
ContainsValidator
public ContainsValidator(SchemaLocation schemaLocation, JsonNodePath evaluationPath, com.fasterxml.jackson.databind.JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext)
-
-
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
- ExecutionContextnode
- JsonNoderootNode
- JsonNodeinstanceLocation
- 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 theJsonValidator
has a relatedJsonSchema
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()
-