Class EnumStringArgumentType<T extends java.lang.Enum<T>>
- java.lang.Object
-
- net.sourceforge.argparse4j.impl.type.EnumStringArgumentType<T>
-
- Type Parameters:
T- Type of enum
- All Implemented Interfaces:
ArgumentType<T>,MetavarInference
public class EnumStringArgumentType<T extends java.lang.Enum<T>> extends java.lang.Object implements ArgumentType<T>, MetavarInference
ArgumentType subclass for enum type.
Uses
Enum.toString()instead ofEnum.name()as the String representation of the enum. For enums that do not overrideEnum.toString(), this behaves the same asReflectArgumentType.
-
-
Constructor Summary
Constructors Constructor Description EnumStringArgumentType(java.lang.Class<T> type)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Tconvert(ArgumentParser parser, Argument arg, java.lang.String value)Convertsvalueto appropriate type.static <T extends java.lang.Enum<T>>
EnumStringArgumentType<T>forEnum(java.lang.Class<T> type)Creates anEnumStringArgumentTypefor the given enum type.java.lang.String[]inferMetavar()Infers metavar based on given type.
-
-
-
Constructor Detail
-
EnumStringArgumentType
public EnumStringArgumentType(java.lang.Class<T> type)
-
-
Method Detail
-
forEnum
public static <T extends java.lang.Enum<T>> EnumStringArgumentType<T> forEnum(java.lang.Class<T> type)
Creates an
EnumStringArgumentTypefor the given enum type.- Type Parameters:
T- The type of the enum- Parameters:
type- type of the enum theEnumStringArgumentTypeshould convert to- Returns:
- an
EnumStringArgumentTypethat converts Strings totype
-
convert
public T convert(ArgumentParser parser, Argument arg, java.lang.String value) throws ArgumentParserException
Description copied from interface:ArgumentTypeConverts
valueto appropriate type.If the objects derived from
RuntimeExceptionare thrown in conversion because of invalid input from command line, subclass must catch these exceptions and wrap them inArgumentParserExceptionand give simple error message to explain what happened briefly.- Specified by:
convertin interfaceArgumentType<T extends java.lang.Enum<T>>- Parameters:
parser- The parser.arg- The argument this type attached to.value- The attribute value.- Returns:
- Converted object.
- Throws:
ArgumentParserException- If conversion fails.
-
inferMetavar
public java.lang.String[] inferMetavar()
Infers metavar based on given type.
The inferred metavar contains all enum constant string representation, obtained by calling their
Object.toString()method.- Specified by:
inferMetavarin interfaceMetavarInference- Returns:
- inferred array of metavar strings, or null if there is no metavar inferred.
- Since:
- 0.7.0
- See Also:
MetavarInference.inferMetavar()
-
-