@SuppressWarnings("unchecked") public static <T> T fromBytes(byte[] bytes, Class<T> type) { if (bytes == null) { return null; } if (type == byte[].class) { return (T) bytes; } Class<?> targetType = type; if (targetType.isPrimitive()) { targetType = primitiveMap.get(targetType); } BytesConvertable<?> bytesConvertable = basicConverters.get(targetType); if (bytesConvertable == null && BytesConvertable.class.isAssignableFrom(type)) { bytesConvertable = (BytesConvertable<?>) Clazz.newInstance(type); } if (bytesConvertable == null) { bytesConvertable = jsonConverter; } return (T) bytesConvertable.fromBytes(bytes); }
public static <T> int getBytesLen(Class<T> type) { Class<?> targetType = type; if (targetType.isPrimitive()) targetType = primitiveMap.get(targetType); Integer bytesLen = bytesLenMap.get(targetType); return bytesLen != null ? bytesLen.intValue() : -1; }