Class SchemaGeneratorConfigBuilder
- java.lang.Object
-
- com.github.victools.jsonschema.generator.SchemaGeneratorConfigBuilder
-
public class SchemaGeneratorConfigBuilder extends Object
Builder class for creating a configuration object to be passed into the SchemaGenerator's constructor.
-
-
Constructor Summary
Constructors Constructor Description SchemaGeneratorConfigBuilder(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
Deprecated.SchemaGeneratorConfigBuilder(com.fasterxml.jackson.databind.ObjectMapper objectMapper, OptionPreset preset)
Deprecated.SchemaGeneratorConfigBuilder(com.fasterxml.jackson.databind.ObjectMapper objectMapper, SchemaVersion schemaVersion)
Constructor of an empty configuration builder.SchemaGeneratorConfigBuilder(com.fasterxml.jackson.databind.ObjectMapper objectMapper, SchemaVersion schemaVersion, OptionPreset preset)
Constructor of an empty configuration builder.SchemaGeneratorConfigBuilder(SchemaVersion schemaVersion)
Constructor of an empty configuration builder with a defaultObjectMapper
instance.SchemaGeneratorConfigBuilder(SchemaVersion schemaVersion, OptionPreset preset)
Constructor of an empty configuration builder with a defaultObjectMapper
instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description SchemaGeneratorConfig
build()
Create a schema generator instance from the builder.SchemaGeneratorConfigPart<FieldScope>
forFields()
Get the part of this configuration builder dedicated to custom attribute look-ups for fields.SchemaGeneratorConfigPart<MethodScope>
forMethods()
Get the part of this configuration builder dedicated to custom attribute look-ups for methods.SchemaGeneratorGeneralConfigPart
forTypesInGeneral()
Get the part of this configuration builder dedicated to custom attribute look-ups for types in general, independent of the declaration context.com.fasterxml.jackson.databind.ObjectMapper
getObjectMapper()
Retrieve the associated object mapper instance.Boolean
getSetting(Option setting)
Check whether the given setting/option has been set and if yes, whether it is enabled or disabled.SchemaGeneratorConfigBuilder
with(CustomDefinitionProviderV2 definitionProvider)
Deprecated.SchemaGeneratorConfigBuilder
with(Module module)
Applying a module to this configuration builder instance.SchemaGeneratorConfigBuilder
with(Option setting, Option... moreSettings)
Enable an option for the schema generation.SchemaGeneratorConfigBuilder
with(TypeAttributeOverride override)
Deprecated.SchemaGeneratorConfigBuilder
without(Option setting, Option... moreSettings)
Disable an option for the schema generation.
-
-
-
Constructor Detail
-
SchemaGeneratorConfigBuilder
@Deprecated public SchemaGeneratorConfigBuilder(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
Deprecated.Constructor of an empty configuration builder for aDraft 7
schema. This is equivalent to calling:
new SchemaGeneratorConfigBuilder(objectMapper, SchemaVersion.DRAFT_7, OptionPreset.FULL_DOCUMENTATION)
- Parameters:
objectMapper
- supplier for object and array nodes for the JSON structure being generated- See Also:
SchemaGeneratorConfigBuilder(ObjectMapper, SchemaVersion, OptionPreset)
-
SchemaGeneratorConfigBuilder
public SchemaGeneratorConfigBuilder(com.fasterxml.jackson.databind.ObjectMapper objectMapper, SchemaVersion schemaVersion)
Constructor of an empty configuration builder. This is equivalent to calling:
new SchemaGeneratorConfigBuilder(objectMapper, schemaVersion, OptionPreset.FULL_DOCUMENTATION)
- Parameters:
objectMapper
- supplier for object and array nodes for the JSON structure being generatedschemaVersion
- designated JSON Schema version- See Also:
SchemaGeneratorConfigBuilder(ObjectMapper, SchemaVersion, OptionPreset)
-
SchemaGeneratorConfigBuilder
public SchemaGeneratorConfigBuilder(SchemaVersion schemaVersion)
Constructor of an empty configuration builder with a defaultObjectMapper
instance. This is equivalent to calling:
new SchemaGeneratorConfigBuilder(schemaVersion, OptionPreset.FULL_DOCUMENTATION)
- Parameters:
schemaVersion
- designated JSON Schema version- See Also:
SchemaGeneratorConfigBuilder(ObjectMapper, SchemaVersion, OptionPreset)
-
SchemaGeneratorConfigBuilder
@Deprecated public SchemaGeneratorConfigBuilder(com.fasterxml.jackson.databind.ObjectMapper objectMapper, OptionPreset preset)
Deprecated.Constructor of an empty configuration builder for aDraft 7
schema. This is equivalent to calling:
new SchemaGeneratorConfigBuilder(objectMapper, SchemaVersion.DRAFT_7, preset)
- Parameters:
objectMapper
- supplier for object and array nodes for the JSON structure being generatedpreset
- default settings for standardOption
values
-
SchemaGeneratorConfigBuilder
public SchemaGeneratorConfigBuilder(SchemaVersion schemaVersion, OptionPreset preset)
Constructor of an empty configuration builder with a defaultObjectMapper
instance.- Parameters:
schemaVersion
- designated JSON Schema versionpreset
- default settings for standardOption
values
-
SchemaGeneratorConfigBuilder
public SchemaGeneratorConfigBuilder(com.fasterxml.jackson.databind.ObjectMapper objectMapper, SchemaVersion schemaVersion, OptionPreset preset)
Constructor of an empty configuration builder.- Parameters:
objectMapper
- supplier for object and array nodes for the JSON structure being generatedschemaVersion
- designated JSON Schema versionpreset
- default settings for standardOption
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
-
forFields
public SchemaGeneratorConfigPart<FieldScope> forFields()
Get the part of this configuration builder dedicated to custom attribute look-ups for fields.- Returns:
- configuration part responsible for handling of fields
- See Also:
: holding configurations also applying to methods or types that are not declared as member directly
,: holding configuration applying to methods
-
forMethods
public SchemaGeneratorConfigPart<MethodScope> forMethods()
Get the part of this configuration builder dedicated to custom attribute look-ups for methods.- Returns:
- configuration part responsible for handling of methods
- See Also:
: holding configurations also applying to fields or types that are not declared as member directly
,: holding configuration applying to fields
-
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
@Deprecated public SchemaGeneratorConfigBuilder with(CustomDefinitionProviderV2 definitionProvider)
Deprecated.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
@Deprecated public SchemaGeneratorConfigBuilder with(TypeAttributeOverride override)
Deprecated.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 enablemoreSettings
- 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 disablemoreSettings
- additional generator options to disable- Returns:
- this builder instance (for chaining)
-
-