/** * INTERNAL: * Either create a new change record or update the change record with the new value. * This is used by attribute change tracking. */ public void updateChangeRecord(Object clone, Object newValue, Object oldValue, ObjectChangeSet objectChangeSet, UnitOfWorkImpl uow) { TransformationMappingChangeRecord changeRecord = (TransformationMappingChangeRecord)objectChangeSet.getChangesForAttributeNamed(this.getAttributeName()); if (!isWriteOnly()) { if (changeRecord == null) { objectChangeSet.addChange(buildChangeRecord(clone, objectChangeSet, uow)); } else { changeRecord.setRow(this.buildPhantomRowFrom(clone, uow)); } } }
return buildChangeRecord(clone, owner, session);