Package com.networknt.schema
Interface JsonValidator
-
- All Superinterfaces:
JsonSchemaWalker
- All Known Implementing Classes:
AbstractJsonValidator
,AdditionalPropertiesValidator
,AllOfValidator
,AnyOfValidator
,BaseJsonValidator
,ConstValidator
,ContainsValidator
,DateTimeValidator
,DependenciesValidator
,DependentRequired
,DependentSchemas
,EnumValidator
,ExclusiveMaximumValidator
,ExclusiveMinimumValidator
,FalseValidator
,FormatValidator
,IfValidator
,ItemsValidator
,ItemsValidator202012
,JsonSchema
,MaximumValidator
,MaxItemsValidator
,MaxLengthValidator
,MaxPropertiesValidator
,MinimumValidator
,MinItemsValidator
,MinLengthValidator
,MinMaxContainsValidator
,MinPropertiesValidator
,MultipleOfValidator
,NotAllowedValidator
,NotValidator
,OneOfValidator
,PatternPropertiesValidator
,PatternValidator
,PrefixItemsValidator
,PropertiesValidator
,PropertyNamesValidator
,ReadOnlyValidator
,RefValidator
,RequiredValidator
,TrueValidator
,TypeValidator
,UnevaluatedItemsValidator
,UnevaluatedPropertiesValidator
,UnionTypeValidator
,UniqueItemsValidator
,WriteOnlyValidator
public interface JsonValidator extends JsonSchemaWalker
Standard json validator interface, implemented by all validators and JsonSchema.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
preloadJsonSchema()
In case theJsonValidator
has a relatedJsonSchema
or several ones, calling preloadJsonSchema will actually load the schema document(s) eagerly.default Set<ValidationMessage>
validate(com.fasterxml.jackson.databind.JsonNode rootNode)
Validate the given root JsonNode, starting at the root of the data path.Set<ValidationMessage>
validate(com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, String at)
Validate the given JsonNode, the given node is the child node of the root node at given data path.default Set<ValidationMessage>
walk(com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, String at, boolean shouldValidateSchema)
This is default implementation of walk method.
-
-
-
Method Detail
-
validate
default Set<ValidationMessage> validate(com.fasterxml.jackson.databind.JsonNode rootNode)
Validate the given root JsonNode, starting at the root of the data path.- Parameters:
rootNode
- JsonNode- Returns:
- A list of ValidationMessage if there is any validation error, or an empty list if there is no error.
-
validate
Set<ValidationMessage> validate(com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, String at)
Validate the given JsonNode, the given node is the child node of the root node at given data path.- Parameters:
node
- JsonNoderootNode
- JsonNodeat
- String- Returns:
- A list of ValidationMessage if there is any validation error, or an empty list if there is no error.
-
preloadJsonSchema
default void preloadJsonSchema() throws JsonSchemaException
In case theJsonValidator
has a relatedJsonSchema
or several ones, calling preloadJsonSchema will actually load the schema document(s) eagerly.- Throws:
JsonSchemaException
- (aRuntimeException
) in case theJsonSchema
or nested schemas are invalid (like$ref
not resolving)- Since:
- 1.0.54
-
walk
default Set<ValidationMessage> walk(com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, String at, boolean shouldValidateSchema)
This is default implementation of walk method. Its job is to call the validate method if shouldValidateSchema is enabled.- Specified by:
walk
in interfaceJsonSchemaWalker
- Parameters:
node
- JsonNoderootNode
- JsonNodeat
- StringshouldValidateSchema
- boolean- Returns:
- a set of validation messages if shouldValidateSchema is true.
-
-