Package com.networknt.schema
Class AbstractJsonValidator
- java.lang.Object
-
- com.networknt.schema.AbstractJsonValidator
-
- All Implemented Interfaces:
JsonValidator
,JsonSchemaWalker
public abstract class AbstractJsonValidator extends Object implements JsonValidator
-
-
Field Summary
-
Fields inherited from interface com.networknt.schema.JsonValidator
AT_ROOT
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractJsonValidator(String keyword)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ValidationMessage
buildValidationMessage(ErrorMessageType errorMessageType, String at, String... arguments)
protected ValidationMessage
buildValidationMessage(ErrorMessageType errorMessageType, String at, Map<String,Object> details)
protected Set<ValidationMessage>
fail(ErrorMessageType errorMessageType, String at, String... arguments)
protected Set<ValidationMessage>
fail(ErrorMessageType errorMessageType, String at, Map<String,Object> details)
protected Set<ValidationMessage>
pass()
Set<ValidationMessage>
validate(com.fasterxml.jackson.databind.JsonNode node)
Validate the given root JsonNode, starting at the root of the data path.Set<ValidationMessage>
walk(com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, String at, boolean shouldValidateSchema)
This method gives the capability to walk through the given JsonNode, allowing functionality beyond validation like collecting information,handling cross cutting concerns like logging or instrumentation.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.networknt.schema.JsonValidator
preloadJsonSchema, validate
-
-
-
-
Constructor Detail
-
AbstractJsonValidator
protected AbstractJsonValidator(String keyword)
-
-
Method Detail
-
validate
public Set<ValidationMessage> validate(com.fasterxml.jackson.databind.JsonNode node)
Description copied from interface:JsonValidator
Validate the given root JsonNode, starting at the root of the data path.- Specified by:
validate
in interfaceJsonValidator
- Parameters:
node
- JsonNode- Returns:
- A list of ValidationMessage if there is any validation error, or an empty list if there is no error.
-
buildValidationMessage
protected ValidationMessage buildValidationMessage(ErrorMessageType errorMessageType, String at, String... arguments)
-
buildValidationMessage
protected ValidationMessage buildValidationMessage(ErrorMessageType errorMessageType, String at, Map<String,Object> details)
-
pass
protected Set<ValidationMessage> pass()
-
fail
protected Set<ValidationMessage> fail(ErrorMessageType errorMessageType, String at, Map<String,Object> details)
-
fail
protected Set<ValidationMessage> fail(ErrorMessageType errorMessageType, String at, String... arguments)
-
walk
public Set<ValidationMessage> walk(com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, String at, boolean shouldValidateSchema)
Description copied from interface:JsonSchemaWalker
This method gives the capability to walk through the given JsonNode, allowing functionality beyond validation like collecting information,handling cross cutting concerns like logging or instrumentation. This method also performs the validation ifshouldValidateSchema
is set to true.
BaseJsonValidator.walk(JsonNode, JsonNode, String, boolean)
provides a default implementation of this method. However validators that parse sub-schemas should override this method to call walk method on those sub-schemas.- Specified by:
walk
in interfaceJsonSchemaWalker
- Parameters:
node
- JsonNoderootNode
- JsonNodeat
- StringshouldValidateSchema
- boolean- Returns:
- a set of validation messages if shouldValidateSchema is true.
-
-