Package dev.harrel.jsonschema
Class ValidatorFactory
java.lang.Object
dev.harrel.jsonschema.ValidatorFactory
Configurable factory for
Validator class. Provides methods for ad-hoc validation, which parse schema each time they are invoked.- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreates new instance ofValidatorusing current configuration.Validates JSON instance against schema.Validates JSON instance against schema.Validates JSON instance against schema.Validates JSON instance against schema.Validates JSON instance against schema.Validates JSON instance against schema.Validates JSON instance against schema.Validates JSON instance against schema.Validates JSON instance against schema.withDefaultMetaSchemaUri(String defaultMetaSchemaUri) Sets default meta-schema URI.withEvaluatorFactory(EvaluatorFactory evaluatorFactory) SetsEvaluatorFactory.withJsonNodeFactory(JsonNodeFactory jsonNodeFactory) SetsJsonNodeFactory.withSchemaResolver(SchemaResolver schemaResolver) ComposesSchemaResolverwith default schema resolver.
-
Constructor Details
-
ValidatorFactory
public ValidatorFactory()
-
-
Method Details
-
createValidator
Creates new instance ofValidatorusing current configuration.- Returns:
- new
Validatorinstance
-
withEvaluatorFactory
SetsEvaluatorFactory. Provided default isDraft2020EvaluatorFactory.- Parameters:
evaluatorFactory-EvaluatorFactoryto be used- Returns:
- self
-
withJsonNodeFactory
SetsJsonNodeFactory. Provided default isJacksonNode.Factory.- Parameters:
jsonNodeFactory-JsonNodeFactoryto be used- Returns:
- self
-
withSchemaResolver
ComposesSchemaResolverwith default schema resolver. The default schema resolver resolves only draft 2020-12 schema. It is loaded from classpath.- Parameters:
schemaResolver-SchemaResolverto be used- Returns:
- self
-
withDefaultMetaSchemaUri
Sets default meta-schema URI. Provided default is https://json-schema.org/draft/2020-12/schema. Each schema that does not have $schema keyword will be validated against meta-schema resolved from this default URI. Passing null will disable default validation against meta-schema, only schemas with $schema keyword will be validated then.- Parameters:
defaultMetaSchemaUri- default meta-schema URI or null- Returns:
- self
-
validate
Validates JSON instance against schema. Each invocation creates temporaryValidatorwhich parses schema from scratch. If you want to validate multiple JSON instances against same schema - please usecreateValidator()and useValidatorclass directly.- Parameters:
rawSchema- string representation of schema JSONrawInstance- string representation of instance JSON- Returns:
- validation result
-
validate
Validates JSON instance against schema. Each invocation creates temporaryValidatorwhich parses schema from scratch. If you want to validate multiple JSON instances against same schema - please usecreateValidator()and useValidatorclass directly.- Parameters:
schemaProviderNode- object representing schema JSON for currently setJsonNodeFactory. E.g.com.fasterxml.jackson.databind.JsonNodefor defaultJsonNodeFactory(JacksonNode.Factory)rawInstance- string representation of instance JSON- Returns:
- validation result
- See Also:
-
validate
Validates JSON instance against schema. Each invocation creates temporaryValidatorwhich parses schema from scratch. If you want to validate multiple JSON instances against same schema - please usecreateValidator()and useValidatorclass directly.- Parameters:
schemaNode-JsonNodeschema JSON, which could be created viaJsonNodeFactoryrawInstance- string representation of instance JSON- Returns:
- validation result
- See Also:
-
validate
Validates JSON instance against schema. Each invocation creates temporaryValidatorwhich parses schema from scratch. If you want to validate multiple JSON instances against same schema - please usecreateValidator()and useValidatorclass directly.- Parameters:
rawSchema- string representation of schema JSONinstanceProviderNode- object representing instance JSON for currently setJsonNodeFactory. E.g.com.fasterxml.jackson.databind.JsonNodefor defaultJsonNodeFactory(JacksonNode.Factory)- Returns:
- validation result
- See Also:
-
validate
Validates JSON instance against schema. Each invocation creates temporaryValidatorwhich parses schema from scratch. If you want to validate multiple JSON instances against same schema - please usecreateValidator()and useValidatorclass directly.- Parameters:
schemaProviderNode- object representing schema JSON for currently setJsonNodeFactory. E.g.com.fasterxml.jackson.databind.JsonNodefor defaultJsonNodeFactory(JacksonNode.Factory)instanceProviderNode- object representing instance JSON for currently setJsonNodeFactory. E.g.com.fasterxml.jackson.databind.JsonNodefor defaultJsonNodeFactory(JacksonNode.Factory)- Returns:
- validation result
- See Also:
-
validate
Validates JSON instance against schema. Each invocation creates temporaryValidatorwhich parses schema from scratch. If you want to validate multiple JSON instances against same schema - please usecreateValidator()and useValidatorclass directly.- Parameters:
schemaNode-JsonNodeschema JSON, which could be created viaJsonNodeFactoryinstanceProviderNode- object representing instance JSON for currently setJsonNodeFactory. E.g.com.fasterxml.jackson.databind.JsonNodefor defaultJsonNodeFactory(JacksonNode.Factory)- Returns:
- validation result
- See Also:
-
validate
Validates JSON instance against schema. Each invocation creates temporaryValidatorwhich parses schema from scratch. If you want to validate multiple JSON instances against same schema - please usecreateValidator()and useValidatorclass directly.- Parameters:
rawSchema- string representation of schema JSONinstanceNode-JsonNodeinstance JSON, which could be created viaJsonNodeFactory- Returns:
- validation result
- See Also:
-
validate
Validates JSON instance against schema. Each invocation creates temporaryValidatorwhich parses schema from scratch. If you want to validate multiple JSON instances against same schema - please usecreateValidator()and useValidatorclass directly.- Parameters:
schemaProviderNode- object representing schema JSON for currently setJsonNodeFactory. E.g.com.fasterxml.jackson.databind.JsonNodefor defaultJsonNodeFactory(JacksonNode.Factory)instanceNode-JsonNodeinstance JSON, which could be created viaJsonNodeFactory- Returns:
- validation result
- See Also:
-
validate
Validates JSON instance against schema. Each invocation creates temporaryValidatorwhich parses schema from scratch. If you want to validate multiple JSON instances against same schema - please usecreateValidator()and useValidatorclass directly.- Parameters:
schemaNode-JsonNodeschema JSON, which could be created viaJsonNodeFactoryinstanceNode-JsonNodeinstance JSON, which could be created viaJsonNodeFactory- Returns:
- validation result
- See Also:
-