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
public class FormatValidator extends BaseFormatJsonValidator implements JsonValidator
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
Constructors Constructor Description FormatValidator(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
createUnknownFormatAssertions(ExecutionContext executionContext)
When the Format-Assertion vocabulary is specified, implementations MUST fail upon encountering unknown formats.protected Object
getAnnotationValue()
Gets the annotation value.protected boolean
isStrict(ExecutionContext executionContext)
Determines if strict handling.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.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
getErrorCodeKey, 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 Detail
-
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 Detail
-
getAnnotationValue
protected Object 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
protected boolean createUnknownFormatAssertions(ExecutionContext executionContext)
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
protected boolean isStrict(ExecutionContext executionContext)
Determines if strict handling.Note that this defaults to false.
- Parameters:
executionContext
- the execution context- Returns:
- whether to perform strict handling
-
-