in tools/cli/src/main/java/org/apache/batchee/cli/command/internal/DefaultCliConfiguration.java [91:121]
public Object coerce(String value, Type expected) {
if (String.class == expected) {
return value;
}
if (long.class == expected) {
return Long.parseLong(value);
}
if (int.class == expected) {
return Integer.parseInt(value);
}
if (boolean.class == expected) {
return Boolean.parseBoolean(value);
}
if (short.class == expected) {
return Short.parseShort(value);
}
if (byte.class == expected) {
return Byte.parseByte(value);
}
if (char.class == expected) {
return value.charAt(0);
}
if (Class.class.isInstance(expected)) {
try {
return Class.class.cast(expected).getMethod("fromString", String.class).invoke(null, value);
} catch (final Exception e) {
// no-op
}
}
throw new IllegalArgumentException(expected + " not supported as option with value '" + value + "'");
}