Class SchemaGeneratorConfigBuilder


  • public class SchemaGeneratorConfigBuilder
    extends Object
    Builder class for creating a configuration object to be passed into the SchemaGenerator's constructor.
    • Constructor Detail

      • SchemaGeneratorConfigBuilder

        public SchemaGeneratorConfigBuilder​(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
        Constructor of an empty configuration builder. This is equivalent to calling:
        new SchemaGeneratorConfigBuilder(objectMapper, OptionPreset.FULL_DOCUMENTATION)
        Parameters:
        objectMapper - supplier for object and array nodes for the JSON structure being generated
        See Also:
        SchemaGeneratorConfigBuilder(ObjectMapper, OptionPreset)
      • SchemaGeneratorConfigBuilder

        public SchemaGeneratorConfigBuilder​(com.fasterxml.jackson.databind.ObjectMapper objectMapper,
                                            OptionPreset preset)
        Constructor of an empty configuration builder.
        Parameters:
        objectMapper - supplier for object and array nodes for the JSON structure being generated
        preset - default settings for standard Option values
    • Method Detail

      • build

        public SchemaGeneratorConfig build()
        Create a schema generator instance from the builder.
        Returns:
        successfully created/initialised generator instance
      • forTypesInGeneral

        public SchemaGeneratorGeneralConfigPart forTypesInGeneral()
        Get the part of this configuration builder dedicated to custom attribute look-ups for types in general, independent of the declaration context.
        Returns:
        configuration part responsible for handling types regardless of their declaration context
      • getObjectMapper

        public com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
        Retrieve the associated object mapper instance.
        Returns:
        supplier for object and array nodes for the JSON structure being generated
      • getSetting

        public Boolean getSetting​(Option setting)
        Check whether the given setting/option has been set and if yes, whether it is enabled or disabled.
        Parameters:
        setting - generator option to check for
        Returns:
        currently configured flag (i.e. true/false if already set), or null if not configured
      • with

        public SchemaGeneratorConfigBuilder with​(Module module)
        Applying a module to this configuration builder instance.
        Parameters:
        module - configuration module to add/apply
        Returns:
        this builder instance (for chaining)
      • with

        public SchemaGeneratorConfigBuilder with​(CustomDefinitionProviderV2 definitionProvider)
        Adding a custom schema provider – if it returns null for a given type, the next definition provider will be applied.
        If all custom schema providers return null (or there is none), then the standard behaviour applies.
        Parameters:
        definitionProvider - provider of a custom definition to register, which may return null
        Returns:
        this builder instance (for chaining)
      • with

        public SchemaGeneratorConfigBuilder with​(TypeAttributeOverride override)
        Adding an override for type attributes – all of the registered overrides will be applied in the order of having been added.
        Parameters:
        override - adding/removing attributes on a JSON Schema node – specifically intended for attributes relating to the type in general.
        Returns:
        this builder instance (for chaining)
      • with

        public SchemaGeneratorConfigBuilder with​(Option setting,
                                                 Option... moreSettings)
        Enable an option for the schema generation.
        Parameters:
        setting - generator option to enable
        moreSettings - additional generator options to enable
        Returns:
        this builder instance (for chaining)
      • without

        public SchemaGeneratorConfigBuilder without​(Option setting,
                                                    Option... moreSettings)
        Disable an option for the schema generation.
        Parameters:
        setting - generator option to disable
        moreSettings - additional generator options to disable
        Returns:
        this builder instance (for chaining)