public static T toObject()

in client-adapter/hbase/src/main/java/com/alibaba/otter/canal/client/adapter/hbase/support/TypeUtil.java [97:138]


    public static <T> T toObject(byte[] bytes, Class<T> clazz) {
        if (bytes == null) {
            return null;
        }
        Object res;
        if (String.class == clazz) {
            res = Bytes.toString(bytes);
        } else if (Integer.class == clazz || int.class == clazz) {
            res = Bytes.toInt(bytes);
        } else if (Long.class == clazz || long.class == clazz) {
            res = Bytes.toLong(bytes);
        } else if (Short.class == clazz || short.class == clazz) {
            res = Bytes.toShort(bytes);
        } else if (Boolean.class == clazz || boolean.class == clazz) {
            res = Bytes.toBoolean(bytes);
        } else if (Float.class == clazz || float.class == clazz) {
            res = Bytes.toFloat(bytes);
        } else if (Double.class == clazz || double.class == clazz) {
            res = Bytes.toDouble(bytes);
        } else if (Byte.class == clazz || byte.class == clazz) {
            res = bytes[0];
        } else if (BigDecimal.class == clazz) {
            res = Bytes.toBigDecimal(bytes);
        } else if (BigInteger.class == clazz) {
            res = Bytes.toLong(bytes);
        } else if (java.sql.Date.class == clazz) {
            long ts = Bytes.toLong(bytes);
            res = new java.sql.Date(ts);
        } else if (Time.class == clazz) {
            long ts = Bytes.toLong(bytes);
            res = new Time(ts);
        } else if (Timestamp.class == clazz) {
            long ts = Bytes.toLong(bytes);
            res = new Timestamp(ts);
        } else if (Date.class == clazz) {
            long ts = Bytes.toLong(bytes);
            res = new Date(ts);
        } else {
            throw new IllegalArgumentException("mismatch class type");
        }
        return (T) res;
    }