} else if (type == DataType.INT64) {
return Bytes.toBytes(number.longValue());
}
return Bytes.toBytes((BigDecimal) number);
} else if (number instanceof BigInteger) {
throw new UnsupportedException(" BigInteger " + number + " Unsupported");
} else if (number instanceof Byte) {
return Bytes.toBytes((Byte) number);
} else if (number instanceof Double) {
double value = number.doubleValue();
if (type == DataType.FLOAT) {
return Bytes.toBytes((float) value);
} else if (type == DataType.DOUBLE) {
return Bytes.toBytes(value);
} else if (type == DataType.INT32) {
int iv = (int) value;
return Bytes.toBytes(iv);
} else if (type == DataType.INT64) {
long lv = (long) value;
return Bytes.toBytes(lv);
}
} else if (number instanceof Float) {
float value = number.floatValue();
if (type == DataType.FLOAT) {
return Bytes.toBytes(value);
} else if (type == DataType.DOUBLE) {
return Bytes.toBytes((float) value);
} else if (type == DataType.INT32) {
int iv = (int) value;
return Bytes.toBytes(iv);
} else if (type == DataType.INT64) {
long lv = (long) value;
return Bytes.toBytes(lv);
}
} else if (number instanceof Integer) {
int value = number.intValue();
if (type == DataType.INT32) {
return Bytes.toBytes((Integer) value);
} else if (type == DataType.INT64) {
return Bytes.toBytes((long) value);
} else if (type == DataType.FLOAT) {
float fv = (float) value;
return Bytes.toBytes(fv);
} else if (type == DataType.DOUBLE) {
double fv = (double) value;
return Bytes.toBytes(fv);
}
} else if (number instanceof Long) {
long value = number.longValue();
if (type == DataType.INT32) {
return Bytes.toBytes((int) value);
} else if (type == DataType.INT64) {
return Bytes.toBytes(value);
} else if (type == DataType.FLOAT) {
float fv = (float) value;
return Bytes.toBytes(fv);
} else if (type == DataType.DOUBLE) {
double fv = (double) value;
return Bytes.toBytes(fv);
}
} else if (number instanceof Short) {
return Bytes.toBytes((Short) number);
}
throw new UnsupportedException("Unknown Number:" + number + " Type:" + type
+ " Unsupported ");
}