Class EnumModule
java.lang.Object
com.github.victools.jsonschema.generator.impl.module.EnumModule
- All Implemented Interfaces:
Module
Default module being included for the
Option.ENUM_AS_STRING.-
Constructor Summary
ConstructorsConstructorDescriptionEnumModule(Function<Enum<?>, String> enumConstantToString) Constructor remembering whether to treat enums as plain strings or as objects. -
Method Summary
Modifier and TypeMethodDescriptionvoidApply this module to the given configuration builder instance.static EnumModuleFactory method: creating anEnumModuleinstance that treats all enums as objects but hides all methods declared by the general enum interface butname().static EnumModuleFactory method: creating anEnumModuleinstance that treats all enums as plain strings (derived from their constant value names).static EnumModuleFactory method: creating anEnumModuleinstance that treats all enums as plain strings (derived from each value's toString()).
-
Constructor Details
-
EnumModule
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
Factory method: creating anEnumModuleinstance that treats all enums as plain strings (derived from their constant value names).- Returns:
- created module instance
-
asStringsFromToString
Factory method: creating anEnumModuleinstance that treats all enums as plain strings (derived from each value's toString()).- Returns:
- created module instance
-
asObjects
Factory method: creating anEnumModuleinstance that treats all enums as objects but hides all methods declared by the general enum interface butname(). Methods and fields (including the enum constants) declared by their subtypes are not excluded.- Returns:
- created module instance
-
applyToConfigBuilder
Description copied from interface:ModuleApply this module to the given configuration builder instance.- Specified by:
applyToConfigBuilderin interfaceModule- Parameters:
builder- configuration builder instance to which to apply this module
-