Class AnyOfValidator
java.lang.Object
com.networknt.schema.ValidationMessageHandler
com.networknt.schema.BaseJsonValidator
com.networknt.schema.AnyOfValidator
- All Implemented Interfaces:
JsonValidator, JsonSchemaWalker
JsonValidator for anyOf.-
Nested Class Summary
Nested classes/interfaces inherited from class BaseJsonValidator
BaseJsonValidator.JsonNodePathJsonPath, BaseJsonValidator.JsonNodePathJsonPointer, BaseJsonValidator.JsonNodePathLegacy -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Booleanprivate static final Stringprivate static final org.slf4j.Loggerprivate final List<JsonSchema> Fields inherited from class BaseJsonValidator
schemaNode, suppressSubSchemaRetrieval, validationContextFields inherited from class ValidationMessageHandler
errorMessage, errorMessageKeyword, errorMessageType, evaluationParentSchema, evaluationPath, keyword, messageSource, parentSchema, schemaLocation -
Constructor Summary
ConstructorsConstructorDescriptionAnyOfValidator(SchemaLocation schemaLocation, JsonNodePath evaluationPath, com.fasterxml.jackson.databind.JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanIf annotations are require for evaluation cannot short circuit.protected booleancanShortCircuit(ExecutionContext executionContext) If annotation collection is enabled cannot short circuit.voidIn case theJsonValidatorhas a relatedJsonSchemaor 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.protected Set<ValidationMessage> validate(ExecutionContext executionContext, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation, boolean walk) walk(ExecutionContext executionContext, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation, boolean shouldValidateSchema) This is default implementation of walk method.Methods inherited from class BaseJsonValidator
atRoot, checkDiscriminatorMatch, collectAnnotations, collectAnnotations, debug, equals, fetchSubSchemaNode, getEvaluationParentSchema, getEvaluationPath, getKeyword, getNodeFieldType, getParentSchema, getSchemaLocation, getSchemaNode, hasAdjacentKeywordInEvaluationPath, message, preloadJsonSchemas, putAnnotation, registerAndMergeDiscriminator, toString, validateMethods inherited from class ValidationMessageHandler
getErrorMessage, getErrorMessageType, getMessageNode
-
Field Details
-
logger
private static final org.slf4j.Logger logger -
DISCRIMINATOR_REMARK
- See Also:
-
schemas
-
canShortCircuit
-
-
Constructor Details
-
AnyOfValidator
public AnyOfValidator(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:JsonValidatorValidate 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.
-
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:JsonValidatorThis is default implementation of walk method. Its job is to call the validate method if shouldValidateSchema is enabled.- Parameters:
executionContext- ExecutionContextnode- JsonNoderootNode- JsonNodeinstanceLocation- JsonNodePathshouldValidateSchema- boolean- Returns:
- a set of validation messages if shouldValidateSchema is true.
-
canShortCircuit
If annotation collection is enabled cannot short circuit.- Parameters:
executionContext- the execution context- Returns:
- true if can short circuit
- See Also:
-
canShortCircuit
protected boolean canShortCircuit()If annotations are require for evaluation cannot short circuit.- Returns:
- true if can short circuit
-
preloadJsonSchema
public void preloadJsonSchema()Description copied from interface:JsonValidatorIn case theJsonValidatorhas a relatedJsonSchemaor several ones, calling preloadJsonSchema will actually load the schema document(s) eagerly.
-