Class ReflectArgumentType<T>

java.lang.Object
net.sourceforge.argparse4j.impl.type.ReflectArgumentType<T>
All Implemented Interfaces:
ArgumentType<T>

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 Details

    • ReflectArgumentType

      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...).

      Parameters:
      type - The type String value should be converted to.
  • Method Details