Class JsonMetaSchema.Builder

    • Field Detail

      • iri

        private java.lang.String iri
      • idKeyword

        private java.lang.String idKeyword
      • keywords

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

        private final java.util.Map<java.lang.String,​Format> formats
      • vocabularies

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

      • Builder

        public Builder​(java.lang.String iri)
    • Method Detail

      • createKeywordsMap

        private java.util.Map<java.lang.String,​Keyword> createKeywordsMap​(java.util.Map<java.lang.String,​Keyword> kwords,
                                                                                java.util.Map<java.lang.String,​Format> formats)
      • vocabularyFactory

        public JsonMetaSchema.Builder vocabularyFactory​(VocabularyFactory vocabularyFactory)
        Sets the vocabulary factory for handling custom vocabularies.
        Parameters:
        vocabularyFactory - the factory
        Returns:
        the builder
      • unknownKeywordFactory

        public JsonMetaSchema.Builder unknownKeywordFactory​(KeywordFactory unknownKeywordFactory)
        Sets the keyword factory for handling unknown keywords.
        Parameters:
        unknownKeywordFactory - the factory
        Returns:
        the builder
      • formats

        public JsonMetaSchema.Builder formats​(java.util.function.Consumer<java.util.Map<java.lang.String,​Format>> customizer)
        Customize the formats.
        Parameters:
        customizer - the customizer
        Returns:
        the builder
      • keywords

        public JsonMetaSchema.Builder keywords​(java.util.function.Consumer<java.util.Map<java.lang.String,​Keyword>> customizer)
        Customize the keywords.
        Parameters:
        customizer - the customizer
        Returns:
        the builder
      • keywords

        public JsonMetaSchema.Builder keywords​(java.util.Collection<? extends Keyword> keywords)
        Adds the keywords.
        Parameters:
        keywords - the keywords
        Returns:
        the builder
      • formats

        public JsonMetaSchema.Builder formats​(java.util.Collection<? extends Format> formats)
        Adds the formats.
        Parameters:
        formats - the formats
        Returns:
        the builder
      • vocabulary

        public JsonMetaSchema.Builder vocabulary​(java.lang.String vocabulary)
        Adds a required vocabulary.

        Note that an error will be raised if this vocabulary is unknown.

        Parameters:
        vocabulary - the vocabulary IRI
        Returns:
        the builder
      • vocabulary

        public JsonMetaSchema.Builder vocabulary​(java.lang.String vocabulary,
                                                 boolean required)
        Adds a vocabulary.
        Parameters:
        vocabulary - the vocabulary IRI
        required - true indicates if the vocabulary is not recognized processing should stop
        Returns:
        the builder
      • vocabularies

        public JsonMetaSchema.Builder vocabularies​(java.util.Map<java.lang.String,​java.lang.Boolean> vocabularies)
        Adds the vocabularies.
        Parameters:
        vocabularies - the vocabularies to add
        Returns:
        the builder
      • vocabularies

        public JsonMetaSchema.Builder vocabularies​(java.util.function.Consumer<java.util.Map<java.lang.String,​java.lang.Boolean>> customizer)
        Customize the vocabularies.
        Parameters:
        customizer - the customizer
        Returns:
        the builder
      • idKeyword

        public JsonMetaSchema.Builder idKeyword​(java.lang.String idKeyword)
        Sets the id keyword.
        Parameters:
        idKeyword - the id keyword
        Returns:
        the builder