_updateCallback.update(updatedObjects);
}
private SObject buildUpdatedObject(String id) {
final SObject obj = new SObject();
obj.setId(id);
obj.setType(getTable().getName());
final Object[] values = getValues();
final Column[] columns = getColumns();
final boolean[] explicitNulls = getExplicitNulls();
final List<String> nullFields = new ArrayList<String>();
for (int i = 0; i < columns.length; i++) {
final Object value = values[i];
final Column column = columns[i];
if (value == null) {
if (explicitNulls[i]) {
nullFields.add(column.getName());
}
} else {
obj.setField(column.getName(), value);
}
}
obj.setFieldsToNull(nullFields.toArray(new String[nullFields.size()]));
return obj;
}