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

public class EnumModule extends Object implements Module
Default module being included for the Option.ENUM_AS_STRING.
  • Constructor Details

    • EnumModule

      public EnumModule(Function<Enum<?>,String> enumConstantToString)
      Constructor remembering whether to treat enums as plain strings or as objects.
      Parameters:
      enumConstantToString - how to derive a plain string representation from an enum constant value, may be null to treat them as objects
  • Method Details

    • asStringsFromName

      public static EnumModule asStringsFromName()
      Factory method: creating an EnumModule instance that treats all enums as plain strings (derived from their constant value names).
      Returns:
      created module instance
    • asStringsFromToString

      public static EnumModule asStringsFromToString()
      Factory method: creating an EnumModule instance that treats all enums as plain strings (derived from each value's toString()).
      Returns:
      created module instance
    • asObjects

      public static EnumModule asObjects()
      Factory method: creating an EnumModule instance that treats all enums as objects but hides all methods declared by the general enum interface but name(). Methods and fields (including the enum constants) declared by their subtypes are not excluded.
      Returns:
      created 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