Class EnumModule
- java.lang.Object
-
- com.github.victools.jsonschema.generator.impl.module.EnumModule
-
-
Constructor Summary
Constructors Constructor Description EnumModule(Function<Enum<?>,String> enumConstantToString)
Constructor remembering whether to treat enums as plain strings or as objects.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
applyToConfigBuilder(SchemaGeneratorConfigBuilder builder)
Apply this module to the given configuration builder instance.static EnumModule
asObjects()
Factory method: creating anEnumModule
instance that treats all enums as objects but hides all methods declared by the general enum interface butname()
.static EnumModule
asStringsFromName()
Factory method: creating anEnumModule
instance that treats all enums as plain strings (derived from their constant value names).static EnumModule
asStringsFromToString()
Factory method: creating anEnumModule
instance that treats all enums as plain strings (derived from each value's toString()).
-
-
-
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 anEnumModule
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 anEnumModule
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 anEnumModule
instance 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 sub types 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 interfaceModule
- Parameters:
builder
- configuration builder instance to which to apply this module
-
-