Package com.networknt.schema
Interface JsonValidator
-
- All Superinterfaces:
JsonSchemaWalker
- All Known Implementing Classes:
AbstractJsonValidator
,AdditionalPropertiesValidator
,AllOfValidator
,AnyOfValidator
,BaseFormatJsonValidator
,BaseJsonValidator
,ConstValidator
,ContainsValidator
,ContentEncodingValidator
,ContentMediaTypeValidator
,DependenciesValidator
,DependentRequired
,DependentSchemas
,DiscriminatorValidator
,DynamicRefValidator
,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
,RecursiveRefValidator
,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 JsonNodePath
getEvaluationPath()
The evaluation path is the set of keys, starting from the schema root, through which evaluation passes to reach the schema object that produced a specific result.String
getKeyword()
The keyword of the validator.SchemaLocation
getSchemaLocation()
The schema location is the canonical URI of the schema object plus a JSON Pointer fragment indicating the subschema that produced a result.default void
preloadJsonSchema()
In case theJsonValidator
has a relatedJsonSchema
or several ones, calling preloadJsonSchema will actually load the schema document(s) eagerly.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.default Set<ValidationMessage>
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.
-
-
-
Method Detail
-
validate
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.- 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
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(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. Its job is to call the validate method if shouldValidateSchema is enabled.- Specified by:
walk
in interfaceJsonSchemaWalker
- Parameters:
executionContext
- ExecutionContextnode
- JsonNoderootNode
- JsonNodeinstanceLocation
- JsonNodePathshouldValidateSchema
- boolean- Returns:
- a set of validation messages if shouldValidateSchema is true.
-
getSchemaLocation
SchemaLocation getSchemaLocation()
The schema location is the canonical URI of the schema object plus a JSON Pointer fragment indicating the subschema that produced a result. In contrast with the evaluation path, the schema location MUST NOT include by-reference applicators such as $ref or $dynamicRef.- Returns:
- the schema location
-
getEvaluationPath
JsonNodePath getEvaluationPath()
The evaluation path is the set of keys, starting from the schema root, through which evaluation passes to reach the schema object that produced a specific result.- Returns:
- the evaluation path
-
getKeyword
String getKeyword()
The keyword of the validator.- Returns:
- the keyword
-
-