public void setVariable(String name, Object value) {
        if (value instanceof String) {
            setString((String) value);
        } else if (value instanceof Character) {
            setString(value.toString());
        } else if (value instanceof Byte) {
            setLong(((Byte) value).longValue());
        } else if (value instanceof Integer) {
            setLong(((Integer) value).longValue());
        } else if (value instanceof Long) {
            setLong((Long) value);
        } else if (value instanceof Float) {
            setDouble(((Float) value).doubleValue());
        } else if (value instanceof Boolean) {
            setBoolean((Boolean) value);
        } else if (value instanceof Double) {
            setDouble((Double) value);
        } else {
            setObject(value);
        }
        this.name = name;
    }