public static Object convert()

in flink-cdc-runtime/src/main/java/org/apache/flink/cdc/runtime/typeutils/DataTypeConverter.java [420:466]


    public static Object convert(Object value, DataType dataType) {
        if (value == null) {
            return null;
        }
        switch (dataType.getTypeRoot()) {
            case BOOLEAN:
                return convertToBoolean(value);
            case TINYINT:
                return convertToByte(value);
            case SMALLINT:
                return convertToShort(value);
            case INTEGER:
                return convertToInt(value);
            case BIGINT:
                return convertToLong(value);
            case DATE:
                return convertToDate(value);
            case TIME_WITHOUT_TIME_ZONE:
                return convertToTime(value);
            case TIMESTAMP_WITHOUT_TIME_ZONE:
                return convertToTimestamp(value);
            case TIMESTAMP_WITH_TIME_ZONE:
                return convertToZonedTimestampData(value);
            case TIMESTAMP_WITH_LOCAL_TIME_ZONE:
                return convertToLocalTimeZoneTimestamp(value);
            case FLOAT:
                return convertToFloat(value);
            case DOUBLE:
                return convertToDouble(value);
            case CHAR:
            case VARCHAR:
                return convertToString(value);
            case BINARY:
            case VARBINARY:
                return convertToBinary(value);
            case DECIMAL:
                return convertToDecimal(value);
            case ROW:
                return value;
            case ARRAY:
                return convertToArray(value, (ArrayType) dataType);
            case MAP:
                return convertToMap(value, (MapType) dataType);
            default:
                throw new UnsupportedOperationException("Unsupported type: " + dataType);
        }
    }