@Override public void update(int ordinal, Object value) { if (value == null) { setNullAt(ordinal); } else { DataType dt = columns[ordinal].dataType(); if (dt instanceof BooleanType) { setBoolean(ordinal, (boolean) value); } else if (dt instanceof IntegerType) { setInt(ordinal, (int) value); } else if (dt instanceof ShortType) { setShort(ordinal, (short) value); } else if (dt instanceof LongType) { setLong(ordinal, (long) value); } else if (dt instanceof FloatType) { setFloat(ordinal, (float) value); } else if (dt instanceof DoubleType) { setDouble(ordinal, (double) value); } else if (dt instanceof DecimalType) { DecimalType t = (DecimalType) dt; Decimal d = Decimal.apply((BigDecimal) value, t.precision(), t.scale()); setDecimal(ordinal, d, t.precision()); } else { throw new UnsupportedOperationException("Datatype not supported " + dt); } } }
@Override public void update(int ordinal, Object value) { if (value == null) { setNullAt(ordinal); } else { DataType dt = columns[ordinal].dataType(); if (dt instanceof BooleanType) { setBoolean(ordinal, (boolean) value); } else if (dt instanceof IntegerType) { setInt(ordinal, (int) value); } else if (dt instanceof ShortType) { setShort(ordinal, (short) value); } else if (dt instanceof LongType) { setLong(ordinal, (long) value); } else if (dt instanceof FloatType) { setFloat(ordinal, (float) value); } else if (dt instanceof DoubleType) { setDouble(ordinal, (double) value); } else if (dt instanceof DecimalType) { DecimalType t = (DecimalType) dt; Decimal d = Decimal.apply((BigDecimal) value, t.precision(), t.scale()); setDecimal(ordinal, d, t.precision()); } else { throw new UnsupportedOperationException("Datatype not supported " + dt); } } }