protected Object toBigDecimal(Column column, Field fieldDefn, Object data) { return convertValue(column, fieldDefn, data, BigDecimal.ZERO, (r) -> { if (data instanceof BigDecimal) { r.deliver(data); } else if (data instanceof Boolean) { r.deliver(NumberConversions.getBigDecimal((Boolean)data)); } else if (data instanceof Short) { r.deliver(new BigDecimal(((Short)data).intValue())); } else if (data instanceof Integer) { r.deliver(new BigDecimal(((Integer)data).intValue())); } else if (data instanceof Long) { r.deliver(BigDecimal.valueOf(((Long)data).longValue())); } else if (data instanceof Float) { r.deliver(BigDecimal.valueOf(((Float)data).doubleValue())); } else if (data instanceof Double) { r.deliver(BigDecimal.valueOf(((Double)data).doubleValue())); } else if (data instanceof String) { r.deliver(new BigDecimal((String)data)); } }); }
protected Object toBigDecimal(Column column, Field fieldDefn, Object data) { return convertValue(column, fieldDefn, data, BigDecimal.ZERO, (r) -> { if (data instanceof BigDecimal) { r.deliver(data); } else if (data instanceof Boolean) { r.deliver(NumberConversions.getBigDecimal((Boolean)data)); } else if (data instanceof Short) { r.deliver(new BigDecimal(((Short)data).intValue())); } else if (data instanceof Integer) { r.deliver(new BigDecimal(((Integer)data).intValue())); } else if (data instanceof Long) { r.deliver(BigDecimal.valueOf(((Long)data).longValue())); } else if (data instanceof Float) { r.deliver(BigDecimal.valueOf(((Float)data).doubleValue())); } else if (data instanceof Double) { r.deliver(BigDecimal.valueOf(((Double)data).doubleValue())); } else if (data instanceof String) { r.deliver(new BigDecimal((String)data)); } }); }