Class JsonMetaSchema


  • public class JsonMetaSchema
    extends java.lang.Object
    Represents a meta-schema which is uniquely identified by its IRI.
    • Field Detail

      • logger

        private static final org.slf4j.Logger logger
      • iri

        private final java.lang.String iri
      • idKeyword

        private final java.lang.String idKeyword
      • keywords

        private final java.util.Map<java.lang.String,​Keyword> keywords
      • vocabularies

        private final java.util.Map<java.lang.String,​java.lang.Boolean> vocabularies
    • Constructor Detail

      • JsonMetaSchema

        JsonMetaSchema​(java.lang.String iri,
                       java.lang.String idKeyword,
                       java.util.Map<java.lang.String,​Keyword> keywords,
                       java.util.Map<java.lang.String,​java.lang.Boolean> vocabularies,
                       SpecVersion.VersionFlag specification,
                       JsonMetaSchema.Builder builder)
    • Method Detail

      • builder

        public static JsonMetaSchema.Builder builder​(java.lang.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, use JsonMetaSchema.builder("http://your-metaschema-iri", JsonMetaSchema.getV4()).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​(java.lang.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 java.lang.String getIdKeyword()
      • readId

        public java.lang.String readId​(com.fasterxml.jackson.databind.JsonNode schemaNode)
      • readAnchor

        public java.lang.String readAnchor​(com.fasterxml.jackson.databind.JsonNode schemaNode)
      • readDynamicAnchor

        public java.lang.String readDynamicAnchor​(com.fasterxml.jackson.databind.JsonNode schemaNode)
      • readText

        private static java.lang.String readText​(com.fasterxml.jackson.databind.JsonNode node,
                                                 java.lang.String field)
      • getIri

        public java.lang.String getIri()
      • getKeywords

        public java.util.Map<java.lang.String,​Keyword> getKeywords()
      • getVocabularies

        public java.util.Map<java.lang.String,​java.lang.Boolean> getVocabularies()
      • newValidator

        public JsonValidator newValidator​(ValidationContext validationContext,
                                          SchemaLocation schemaLocation,
                                          JsonNodePath evaluationPath,
                                          java.lang.String keyword,
                                          com.fasterxml.jackson.databind.JsonNode schemaNode,
                                          JsonSchema parentSchema)
        Creates a new validator of the keyword.
        Parameters:
        validationContext - the validation context
        schemaLocation - the schema location
        evaluationPath - the evaluation path
        keyword - the keyword
        schemaNode - the schema node
        parentSchema - the parent schema
        Returns:
        the validator
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object