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
public class ContainsValidator extends BaseJsonValidator
JsonValidator
for contains.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.networknt.schema.BaseJsonValidator
BaseJsonValidator.JsonNodePathJsonPath, BaseJsonValidator.JsonNodePathJsonPointer, BaseJsonValidator.JsonNodePathLegacy
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
CONTAINS_MAX
private static java.lang.String
CONTAINS_MIN
private java.lang.Boolean
hasUnevaluatedItemsValidator
private boolean
isMinV201909
private static org.slf4j.Logger
logger
private java.lang.Integer
max
private java.lang.Integer
min
private JsonSchema
schema
-
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
Constructors Constructor Description ContainsValidator(SchemaLocation schemaLocation, JsonNodePath evaluationPath, com.fasterxml.jackson.databind.JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.util.Set<ValidationMessage>
boundsViolated(ValidatorTypeCode validatorTypeCode, java.util.Locale locale, boolean failFast, com.fasterxml.jackson.databind.JsonNode instanceNode, JsonNodePath instanceLocation, int bounds)
private boolean
collectAnnotations()
Determine if annotations must be collected for evaluation.private boolean
hasUnevaluatedItemsValidator()
void
preloadJsonSchema()
In case theJsonValidator
has a relatedJsonSchema
or several ones, calling preloadJsonSchema will actually load the schema document(s) eagerly.java.util.Set<ValidationMessage>
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 Detail
-
logger
private static final org.slf4j.Logger logger
-
CONTAINS_MAX
private static final java.lang.String CONTAINS_MAX
- See Also:
- Constant Field Values
-
CONTAINS_MIN
private static final java.lang.String CONTAINS_MIN
- See Also:
- Constant Field Values
-
schema
private final JsonSchema schema
-
isMinV201909
private final boolean isMinV201909
-
min
private final java.lang.Integer min
-
max
private final java.lang.Integer max
-
hasUnevaluatedItemsValidator
private java.lang.Boolean hasUnevaluatedItemsValidator
-
-
Constructor Detail
-
ContainsValidator
public ContainsValidator(SchemaLocation schemaLocation, JsonNodePath evaluationPath, com.fasterxml.jackson.databind.JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext)
-
-
Method Detail
-
validate
public java.util.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 java.util.Set<ValidationMessage> boundsViolated(ValidatorTypeCode validatorTypeCode, java.util.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()
-
-