Package com.networknt.schema
Class FormatValidator
java.lang.Object
com.networknt.schema.ValidationMessageHandler
com.networknt.schema.BaseJsonValidator
com.networknt.schema.format.BaseFormatJsonValidator
com.networknt.schema.FormatValidator
- All Implemented Interfaces:
JsonValidator
,JsonSchemaWalker
Validator for Format.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.networknt.schema.BaseJsonValidator
BaseJsonValidator.JsonNodePathJsonPath, BaseJsonValidator.JsonNodePathJsonPointer, BaseJsonValidator.JsonNodePathLegacy
-
Field Summary
Fields inherited from class com.networknt.schema.format.BaseFormatJsonValidator
assertionsEnabled
Fields inherited from class com.networknt.schema.BaseJsonValidator
schemaNode, suppressSubSchemaRetrieval, validationContext
Fields inherited from class com.networknt.schema.ValidationMessageHandler
errorMessage, errorMessageKeyword, errorMessageType, evaluationParentSchema, evaluationPath, keyword, messageSource, parentSchema, schemaLocation
-
Constructor Summary
ConstructorsConstructorDescriptionFormatValidator
(SchemaLocation schemaLocation, JsonNodePath evaluationPath, com.fasterxml.jackson.databind.JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext, Format format, ErrorMessageType errorMessageType, Keyword keyword) FormatValidator
(SchemaLocation schemaLocation, JsonNodePath evaluationPath, com.fasterxml.jackson.databind.JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext, Format format, ValidatorTypeCode type) -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
createUnknownFormatAssertions
(ExecutionContext executionContext) When the Format-Assertion vocabulary is specified, implementations MUST fail upon encountering unknown formats.protected Object
Gets the annotation value.protected boolean
isStrict
(ExecutionContext executionContext) Determines if strict handling.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> validateUnknownFormat
(ExecutionContext executionContext, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation) When the Format-Assertion vocabulary is specified, implementations MUST fail upon encountering unknown formats.Methods inherited from class com.networknt.schema.format.BaseFormatJsonValidator
isAssertionsEnabled, isFormatAssertionVocabularyEnabled, isFormatAssertionVocabularyEnabled
Methods inherited from class com.networknt.schema.BaseJsonValidator
atRoot, checkDiscriminatorMatch, collectAnnotations, collectAnnotations, debug, equals, fetchSubSchemaNode, getEvaluationParentSchema, getEvaluationPath, getKeyword, getNodeFieldType, getParentSchema, getSchemaLocation, getSchemaNode, hasAdjacentKeywordInEvaluationPath, message, preloadJsonSchemas, putAnnotation, registerAndMergeDiscriminator, toString, validate
Methods inherited from class com.networknt.schema.ValidationMessageHandler
getErrorMessage, getErrorMessageType, getMessageNode
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
getEvaluationPath, getKeyword, getSchemaLocation, preloadJsonSchema, walk
-
Constructor Details
-
FormatValidator
public FormatValidator(SchemaLocation schemaLocation, JsonNodePath evaluationPath, com.fasterxml.jackson.databind.JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext, Format format, ErrorMessageType errorMessageType, Keyword keyword) -
FormatValidator
public FormatValidator(SchemaLocation schemaLocation, JsonNodePath evaluationPath, com.fasterxml.jackson.databind.JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext, Format format, ValidatorTypeCode type)
-
-
Method Details
-
getAnnotationValue
Gets the annotation value.- Returns:
- the annotation value
-
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:JsonValidator
Validate the given JsonNode, the given node is the child node of the root node at given data path.- Specified by:
validate
in interfaceJsonValidator
- 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.
-
validateUnknownFormat
protected Set<ValidationMessage> validateUnknownFormat(ExecutionContext executionContext, com.fasterxml.jackson.databind.JsonNode node, com.fasterxml.jackson.databind.JsonNode rootNode, JsonNodePath instanceLocation) When the Format-Assertion vocabulary is specified, implementations MUST fail upon encountering unknown formats.- Parameters:
executionContext
- the execution contextnode
- the noderootNode
- the root nodeinstanceLocation
- the instance location- Returns:
- the messages
-
createUnknownFormatAssertions
When the Format-Assertion vocabulary is specified, implementations MUST fail upon encountering unknown formats.Note that this is different from setting the setFormatAssertionsEnabled configuration option.
The following logic will return true if the format assertions option is turned on and strict is enabled (default false) or the format assertion vocabulary is enabled.
- Parameters:
executionContext
- the execution context- Returns:
- true if format assertions should be generated
-
isStrict
Determines if strict handling.Note that this defaults to false.
- Parameters:
executionContext
- the execution context- Returns:
- whether to perform strict handling
-