Package com.networknt.schema
Class UnionTypeValidator
- java.lang.Object
-
- com.networknt.schema.ValidationMessageHandler
-
- com.networknt.schema.BaseJsonValidator
-
- com.networknt.schema.UnionTypeValidator
-
- All Implemented Interfaces:
JsonValidator
,JsonSchemaWalker
public class UnionTypeValidator extends BaseJsonValidator implements JsonValidator
JsonValidator
for type union.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.networknt.schema.BaseJsonValidator
BaseJsonValidator.JsonNodePathJsonPath, BaseJsonValidator.JsonNodePathJsonPointer, BaseJsonValidator.JsonNodePathLegacy
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
error
private static org.slf4j.Logger
logger
private java.util.List<JsonValidator>
schemas
-
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 UnionTypeValidator(SchemaLocation schemaLocation, JsonNodePath evaluationPath, com.fasterxml.jackson.databind.JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getKeyword()
The keyword of the validator.void
preloadJsonSchema()
In case theJsonValidator
has a relatedJsonSchema
or several ones, calling preloadJsonSchema will actually load the schema document(s) eagerly.java.util.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.-
Methods inherited from class com.networknt.schema.BaseJsonValidator
atRoot, checkDiscriminatorMatch, collectAnnotations, collectAnnotations, debug, equals, fetchSubSchemaNode, getEvaluationParentSchema, getEvaluationPath, 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, getSchemaLocation, walk
-
-
-
-
Field Detail
-
logger
private static final org.slf4j.Logger logger
-
schemas
private final java.util.List<JsonValidator> schemas
-
error
private final java.lang.String error
-
-
Constructor Detail
-
UnionTypeValidator
public UnionTypeValidator(SchemaLocation schemaLocation, JsonNodePath evaluationPath, com.fasterxml.jackson.databind.JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext)
-
-
Method Detail
-
validate
public java.util.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.
-
preloadJsonSchema
public void preloadJsonSchema()
Description copied from interface:JsonValidator
In case theJsonValidator
has a relatedJsonSchema
or several ones, calling preloadJsonSchema will actually load the schema document(s) eagerly.- Specified by:
preloadJsonSchema
in interfaceJsonValidator
-
getKeyword
public java.lang.String getKeyword()
Description copied from interface:JsonValidator
The keyword of the validator.- Specified by:
getKeyword
in interfaceJsonValidator
- Overrides:
getKeyword
in classBaseJsonValidator
- Returns:
- the keyword
-
-