private Object castObjectValue()

in java/ws-server/src/main/java/com/epam/deltix/tbwg/webapp/services/timebase/csvimport/CsvValueConvertor.java [292:334]


    private Object castObjectValue(Object value, DataType type) {
        if (value == null)
            return null;
        if (value instanceof String) {
            return convertStandardDataType(null, (String) value, type);
        } else if (type instanceof IntegerDataType)
            switch (((IntegerDataType) type).getSize()) {
                case 1:
                    return ((Number) value).byteValue();
                case 2:
                    return ((Number) value).shortValue();
                case 4:
                case IntegerDataType.PACKED_UNSIGNED_INT:
                case IntegerDataType.PACKED_INTERVAL:
                    return ((Number) value).intValue();
                default:
                    return ((Number) value).longValue();
            }
        else if (type instanceof FloatDataType) {
            if (type.getEncoding().equals(FloatDataType.ENCODING_FIXED_FLOAT))
                return ((Number) value).floatValue();
            else
                return ((Number) value).doubleValue();
        } else if (type instanceof BooleanDataType && value instanceof Number) {
            byte byteValue = ((Number) value).byteValue();
            if (byteValue == -1) return null;
            return byteValue;
        } else if (type instanceof DateTimeDataType) {
            if (value instanceof Number) {
                return ((Number) value).longValue();
            }
        } else if (type instanceof TimeOfDayDataType)
            return ((Number) value).intValue();
        else if (type instanceof ArrayDataType) {
            Object[] objects = value instanceof List ? ((List) value).toArray() : (Object[]) value;
            return castArrayValues(objects, (ArrayDataType) type);
        } else if (type instanceof ClassDataType) {
            return castObjectValues((Map) value, (ClassDataType) type);
        } else if (type instanceof BinaryDataType) {
            return castBinaryValues((List) value);
        }
        return value;
    }