public void set(String name, String value) {
        try {
            Field field = CSVConfig.class.getDeclaredField(name);
            if (field.getType().toString().compareToIgnoreCase("int") == 0) {
                field.set(this, Integer.parseInt(value));
            } else if (field.getType().toString().compareToIgnoreCase("boolean") == 0) {
                if (value.equalsIgnoreCase("t")) value = "true";
                field.set(this, Boolean.parseBoolean(value));
            } else {
                field.set(this, value);
            }
        } catch (NoSuchFieldException | SecurityException e) {
           throw new IllegalArgumentException("Unknown parameter: " + name);
        } catch (Exception e) {
           throw new IllegalArgumentException("Invalid value for '" + name + "': " + value);
        }
    }
public void set ( String name , String value ) { try { Field field = CSVConfig . class . getDeclaredField ( name ) ; if ( field . getType ( ) . toString ( ) . compareToIgnoreCase ( "int" ) == 0 ) { field . set ( this , Integer . parseInt ( value ) ) ; } else if ( field . getType ( ) . toString ( ) . compareToIgnoreCase ( "boolean" ) == 0 ) { if ( value . equalsIgnoreCase ( "t" ) ) value = "true" ; field . set ( this , Boolean . parseBoolean ( value ) ) ; } else { field . set ( this , value ) ; } } catch ( NoSuchFieldException | SecurityException e ) { throw new IllegalArgumentException ( "Unknown parameter: " + name ) ; } catch ( Exception e ) { throw new IllegalArgumentException ( "Invalid value for '" + name + "': " + value ) ; } }
Set the given configuration option name to the given value. The value's format must
be compatible with the option's type (String, int, or boolean). If the given option
name is unknown, an exception is thrown.

@param name  Option name (e.g., "app", "batchsize")
@param value Option value (e.g., "Email", "10000", "true").