/** * INTERNAL: * Extracts value from return row and set the attribute to the value in the object. * Return row is merged into object after execution of insert or update call * accordiing to ReturningPolicy. */ public Object readFromReturnRowIntoObject(AbstractRecord row, Object object, ReadObjectQuery query, Collection handledMappings) throws DatabaseException { AbstractRecord transformationRow = new DatabaseRecord(getFields().size()); for (int i = 0; i < getFields().size(); i++) { DatabaseField field = getFields().elementAt(i); Object value; if (row.containsKey(field)) { value = row.get(field); } else { value = valueFromObject(object, field, query.getSession()); } transformationRow.add(field, value); } Object attributeValue = readFromRowIntoObject(transformationRow, null, object, query, query.getSession()); if (handledMappings != null) { handledMappings.add(this); } return attributeValue; }
value = row.get(field); } else { value = valueFromObject(object, field, query.getSession());
value = row.get(field); } else { value = valueFromObject(object, field, query.getSession());
for (int i = 0; i < size; i++) { DatabaseField fieldToAdd = mapping.getFields().get(i); Object value = ((AbstractTransformationMapping)mapping).valueFromObject(object, fieldToAdd, getSession()); transformationRow.add(fieldToAdd, value);