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​(Predicate<TypeScope> exclusionCheck)
        Constructor.
        Parameters:
        exclusionCheck - determining whether additionalProperties should be forbidden on a given scope
    • Method Detail

      • 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 "additionProperties" 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