Class EnumModule

  • All Implemented Interfaces:
    Module

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

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

      • 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