public class ReflectArgumentType<T> extends Object implements ArgumentType<T>
This implementation converts String value into given type using type's
valueOf(java.lang.String) static method or its constructor.
| Constructor and Description |
|---|
ReflectArgumentType(Class<T> type)
Creates
ReflectArgumentType object with given type. |
public ReflectArgumentType(Class<T> type)
Creates ReflectArgumentType object with given type.
This object first tries to convert given String using
valueOf(java.lang.String) static method of given type. If
that failed, then use constructor of given type for conversion.
valueOf() method and/or constructor must be declared as public.
Otherwise, they cannot be invoked. The constructor of type must
accept 1 String argument.
If error occurred inside the valueOf static method or
constructor, ArgumentParserException will be thrown. If error
occurred in other locations, subclass of RuntimeException will be
thrown.
This object works with enums as well. The enums in its nature have
limited number of members. In
convert(ArgumentParser, Argument, String), string value will be
converted to one of them. If it cannot be converted,
convert(ArgumentParser, Argument, String) will throw
ArgumentParserException. This means it already act like a
Argument.choices(Object...).
type - The type String value should be converted to.public T convert(ArgumentParser parser, Argument arg, String value) throws ArgumentParserException
ArgumentType
Converts value to appropriate type.
If the objects derived from RuntimeException are thrown in
conversion because of invalid input from command line, subclass must
catch these exceptions and wrap them in ArgumentParserException
and give simple error message to explain what happened briefly.
convert in interface ArgumentType<T>parser - The aprser.arg - The argument this type attached to.value - The attribute value.ArgumentParserException - If conversion fails.Copyright © 2012–2015. All rights reserved.