public void setValue(Object value) {
    	
        if (type == -1 && value != null) {
            if ("java.lang.Integer".equals(value.getClass().getName())) {
                this.type = Data.INTEGER;
            } else if ("java.lang.Boolean".equals(value.getClass().getName())) {
                this.type = Data.BOOLEAN;
            } else if ("java.lang.Byte".equals(value.getClass().getName())) {
                this.type = Data.BYTE;
            } else if ("java.lang.Long".equals(value.getClass().getName())) {
                this.type = Data.LONG;
            } else if ("java.lang.Float".equals(value.getClass().getName())) {
                this.type = Data.FLOAT;
            } else if ("java.lang.Double".equals(value.getClass().getName())) {
                this.type = Data.DOUBLE;
            } else {
                this.type = Data.OTHER;
            }
        }
        this.value = value;
    }