Class 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 Detail

      • 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,​com.fasterxml.jackson.databind.JsonNode> fieldAdditionalPropertiesResolver,
                                          BiFunction<MethodScope,​SchemaGenerationContext,​com.fasterxml.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 Detail

      • 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