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
BaseJsonValidator
.
-
-
Constructor Summary
Constructors Constructor Description AbstractJsonValidator(SchemaLocation schemaLocation, JsonNodePath evaluationPath, Keyword keyword, com.fasterxml.jackson.databind.JsonNode schemaNode)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
collectAnnotations(ExecutionContext executionContext)
Determine if annotations should be reported.protected boolean
collectAnnotations(ExecutionContext executionContext, String keyword)
Determine if annotations should be reported.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.com.fasterxml.jackson.databind.JsonNode
getSchemaNode()
The schema node used to create the validator.protected void
putAnnotation(ExecutionContext executionContext, Consumer<JsonNodeAnnotation.Builder> customizer)
Puts an annotation.String
toString()
-
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
preloadJsonSchema, validate, walk
-
-
-
-
Constructor Detail
-
AbstractJsonValidator
public AbstractJsonValidator(SchemaLocation schemaLocation, JsonNodePath evaluationPath, Keyword keyword, com.fasterxml.jackson.databind.JsonNode schemaNode)
Constructor.- Parameters:
schemaLocation
- the schema locationevaluationPath
- the evaluation pathkeyword
- the keywordschemaNode
- the schema node
-
-
Method Detail
-
getSchemaLocation
public SchemaLocation getSchemaLocation()
Description copied from interface:JsonValidator
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.- Specified by:
getSchemaLocation
in interfaceJsonValidator
- Returns:
- the schema location
-
getEvaluationPath
public JsonNodePath getEvaluationPath()
Description copied from interface:JsonValidator
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.- Specified by:
getEvaluationPath
in interfaceJsonValidator
- Returns:
- the evaluation path
-
getKeyword
public String getKeyword()
Description copied from interface:JsonValidator
The keyword of the validator.- Specified by:
getKeyword
in interfaceJsonValidator
- Returns:
- the keyword
-
getSchemaNode
public com.fasterxml.jackson.databind.JsonNode getSchemaNode()
The schema node used to create the validator.- Returns:
- the schema node
-
collectAnnotations
protected boolean collectAnnotations(ExecutionContext executionContext)
Determine if annotations should be reported.- Parameters:
executionContext
- the execution context- Returns:
- true if annotations should be reported
-
collectAnnotations
protected boolean collectAnnotations(ExecutionContext executionContext, String keyword)
Determine if annotations should be reported.- Parameters:
executionContext
- the execution contextkeyword
- the keyword- Returns:
- true if annotations should be reported
-
putAnnotation
protected void putAnnotation(ExecutionContext executionContext, Consumer<JsonNodeAnnotation.Builder> customizer)
Puts an annotation.- Parameters:
executionContext
- the execution contextcustomizer
- to customize the annotation
-
-