public Object coerce()

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 + "'");
    }