Package com.networknt.schema
Class JsonMetaSchema
- java.lang.Object
-
- com.networknt.schema.JsonMetaSchema
-
public class JsonMetaSchema extends Object
Represents a meta-schema which is uniquely identified by its IRI.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JsonMetaSchema.Builder
Builder forJsonMetaSchema
.static interface
JsonMetaSchema.FormatKeywordFactory
Factory for creating a format keyword.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static JsonMetaSchema.Builder
builder(JsonMetaSchema blueprint)
Create a builder.static JsonMetaSchema.Builder
builder(String iri)
Create a builder without keywords or formats.static JsonMetaSchema.Builder
builder(String iri, JsonMetaSchema blueprint)
Create a builder.boolean
equals(Object obj)
String
getIdKeyword()
String
getIri()
Map<String,Keyword>
getKeywords()
SpecVersion.VersionFlag
getSpecification()
static JsonMetaSchema
getV201909()
static JsonMetaSchema
getV202012()
static JsonMetaSchema
getV4()
static JsonMetaSchema
getV6()
static JsonMetaSchema
getV7()
Map<String,Boolean>
getVocabularies()
int
hashCode()
JsonValidator
newValidator(ValidationContext validationContext, SchemaLocation schemaLocation, JsonNodePath evaluationPath, String keyword, com.fasterxml.jackson.databind.JsonNode schemaNode, JsonSchema parentSchema)
Creates a new validator of the keyword.String
readAnchor(com.fasterxml.jackson.databind.JsonNode schemaNode)
String
readDynamicAnchor(com.fasterxml.jackson.databind.JsonNode schemaNode)
String
readId(com.fasterxml.jackson.databind.JsonNode schemaNode)
String
toString()
-
-
-
Method Detail
-
getV4
public static JsonMetaSchema getV4()
-
getV6
public static JsonMetaSchema getV6()
-
getV7
public static JsonMetaSchema getV7()
-
getV201909
public static JsonMetaSchema getV201909()
-
getV202012
public static JsonMetaSchema getV202012()
-
builder
public static JsonMetaSchema.Builder builder(String iri)
Create a builder without keywords or formats.Use
getV4()
for the Draft 4 Metaschema, or if you need a builder based on Draft4, useJsonMetaSchema.builder("http://your-metaschema-iri", JsonSchemaFactory.getDraftV4()).build();
- Parameters:
iri
- the IRI of the metaschema that will be defined via this builder.- Returns:
- a builder instance without any keywords or formats - usually not what one needs.
-
builder
public static JsonMetaSchema.Builder builder(String iri, JsonMetaSchema blueprint)
Create a builder.- Parameters:
iri
- the IRI of your new JsonMetaSchema that will be defined via this builder.blueprint
- the JsonMetaSchema to base your custom JsonMetaSchema on.- Returns:
- a builder instance preconfigured to be the same as blueprint, but with a different uri.
-
builder
public static JsonMetaSchema.Builder builder(JsonMetaSchema blueprint)
Create a builder.- Parameters:
blueprint
- the JsonMetaSchema to base your custom JsonMetaSchema on.- Returns:
- a builder instance preconfigured to be the same as blueprint
-
getIdKeyword
public String getIdKeyword()
-
readId
public String readId(com.fasterxml.jackson.databind.JsonNode schemaNode)
-
readAnchor
public String readAnchor(com.fasterxml.jackson.databind.JsonNode schemaNode)
-
readDynamicAnchor
public String readDynamicAnchor(com.fasterxml.jackson.databind.JsonNode schemaNode)
-
getIri
public String getIri()
-
getSpecification
public SpecVersion.VersionFlag getSpecification()
-
newValidator
public JsonValidator newValidator(ValidationContext validationContext, SchemaLocation schemaLocation, JsonNodePath evaluationPath, String keyword, com.fasterxml.jackson.databind.JsonNode schemaNode, JsonSchema parentSchema)
Creates a new validator of the keyword.- Parameters:
validationContext
- the validation contextschemaLocation
- the schema locationevaluationPath
- the evaluation pathkeyword
- the keywordschemaNode
- the schema nodeparentSchema
- the parent schema- Returns:
- the validator
-
-