Class AdditionalPropertiesModule
java.lang.Object
com.github.victools.jsonschema.generator.impl.module.AdditionalPropertiesModule
- All Implemented Interfaces:
Module
Default module being included if
Option.FORBIDDEN_ADDITIONAL_PROPERTIES_BY_DEFAULT is enabled.-
Constructor Summary
ConstructorsConstructorDescriptionAdditionalPropertiesModule(ConfigFunction<TypeScope, Type> generalAdditionalPropertiesResolver) Constructor.AdditionalPropertiesModule(ConfigFunction<TypeScope, Type> generalAdditionalPropertiesResolver, BiFunction<FieldScope, SchemaGenerationContext, tools.jackson.databind.JsonNode> fieldAdditionalPropertiesResolver, BiFunction<MethodScope, SchemaGenerationContext, tools.jackson.databind.JsonNode> methodAdditionalPropertiesResolver) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidApply this module to the given configuration builder instance.static AdditionalPropertiesModuleCreate module instance that forbids additional properties everywhere but on container types.static AdditionalPropertiesModuleCreate module instance that specifically allows additional properties onMapinstances.
-
Constructor Details
-
AdditionalPropertiesModule
public AdditionalPropertiesModule(ConfigFunction<TypeScope, Type> generalAdditionalPropertiesResolver) Constructor.- Parameters:
generalAdditionalPropertiesResolver- resolver for additionalProperties of types in general
-
AdditionalPropertiesModule
public AdditionalPropertiesModule(ConfigFunction<TypeScope, Type> generalAdditionalPropertiesResolver, BiFunction<FieldScope, SchemaGenerationContext, tools.jackson.databind.JsonNode> fieldAdditionalPropertiesResolver, BiFunction<MethodScope, SchemaGenerationContext, tools.jackson.databind.JsonNode> methodAdditionalPropertiesResolver) Constructor.- Parameters:
generalAdditionalPropertiesResolver- resolver for additionalProperties of types in generalfieldAdditionalPropertiesResolver- resolver for additionalProperties for fieldsmethodAdditionalPropertiesResolver- resolver for additionalProperties for methods
-
-
Method Details
-
forMapValues
Create module instance that specifically allows additional properties onMapinstances.- Returns:
- module instance
-
forbiddenForAllObjectsButContainers
Create module instance that forbids additional properties everywhere but on container types.
This assumes that the respectiveSimpleTypeModuleinstance is being applied first and already enforces the "additionalProperties" keyword to be omitted on other non-object schemas.- Returns:
- module instance
-
applyToConfigBuilder
Description copied from interface:ModuleApply this module to the given configuration builder instance.- Specified by:
applyToConfigBuilderin interfaceModule- Parameters:
builder- configuration builder instance to which to apply this module
-