Class AdditionalPropertiesModule

java.lang.Object
com.github.victools.jsonschema.generator.impl.module.AdditionalPropertiesModule
All Implemented Interfaces:
Module

public class AdditionalPropertiesModule extends Object implements Module
Default module being included if Option.FORBIDDEN_ADDITIONAL_PROPERTIES_BY_DEFAULT is enabled.
  • 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 general
      fieldAdditionalPropertiesResolver - resolver for additionalProperties for fields
      methodAdditionalPropertiesResolver - resolver for additionalProperties for methods
  • Method Details

    • forMapValues

      public static AdditionalPropertiesModule forMapValues()
      Create module instance that specifically allows additional properties on Map instances.
      Returns:
      module instance
    • forbiddenForAllObjectsButContainers

      public static AdditionalPropertiesModule forbiddenForAllObjectsButContainers()
      Create module instance that forbids additional properties everywhere but on container types.
      This assumes that the respective SimpleTypeModule instance is being applied first and already enforces the "additionalProperties" keyword to be omitted on other non-object schemas.
      Returns:
      module instance
    • applyToConfigBuilder

      public void applyToConfigBuilder(SchemaGeneratorConfigBuilder builder)
      Description copied from interface: Module
      Apply this module to the given configuration builder instance.
      Specified by:
      applyToConfigBuilder in interface Module
      Parameters:
      builder - configuration builder instance to which to apply this module