/** * INTERNAL: * Compare the references of the two objects are the same, and the objects themselves are the same. * Used for private relationships. * This is used for testing and validation purposes. */ protected boolean compareObjectsWithPrivateOwned(Object firstObject, Object secondObject, AbstractSession session) { Object firstPrivateObject = getRealAttributeValueFromObject(firstObject, session); Object secondPrivateObject = getRealAttributeValueFromObject(secondObject, session); return session.compareObjects(firstPrivateObject, secondPrivateObject); }
/** * INTERNAL: * Directly build a change record without comparison */ public ChangeRecord buildChangeRecord(Object clone, ObjectChangeSet owner, AbstractSession session) { return internalBuildChangeRecord(getRealAttributeValueFromObject(clone, session), owner, session); } }
/** * INTERNAL: * To verify if the specified object is deleted or not. */ public boolean verifyDelete(Object object, AbstractSession session) throws DatabaseException { if (isPrivateOwned()) { Object attributeValue = getRealAttributeValueFromObject(object, session); if (attributeValue != null) { return session.verifyDelete(attributeValue); } } return true; }
Object firstReferencedObject = getRealAttributeValueFromObject(firstObject, session); Object secondReferencedObject = getRealAttributeValueFromObject(secondObject, session);
cloneAttributeValue = getRealAttributeValueFromObject(clone, session); backUpAttributeValue = getRealAttributeValueFromObject(backUp, session);
/** * INTERNAL: * Reads the private owned object. */ protected Object readPrivateOwnedForObject(ObjectLevelModifyQuery modifyQuery) throws DatabaseException { if (modifyQuery.getSession().isUnitOfWork()) { if (modifyQuery.getObjectChangeSet() != null) { ObjectReferenceChangeRecord record = (ObjectReferenceChangeRecord) modifyQuery.getObjectChangeSet().getChangesForAttributeNamed(getAttributeName()); if (record != null) { return record.getOldValue(); } } else { // Old commit. return getRealAttributeValueFromObject(modifyQuery.getBackupClone(), modifyQuery.getSession()); } } return null; }
/** * INTERNAL: * Copy of the attribute of the object. * This is NOT used for unit of work but for templatizing an object. */ public void buildCopy(Object copy, Object original, ObjectCopyingPolicy policy) { Object attributeValue = getRealAttributeValueFromObject(original, policy.getSession()); if ((attributeValue != null) && (policy.shouldCascadeAllParts() || (policy.shouldCascadePrivateParts() && isPrivateOwned()))) { attributeValue = policy.getSession().copyObject(attributeValue, policy); } else if (attributeValue != null) { // Check for copy of part, i.e. back reference. Object copyValue = policy.getCopies().get(attributeValue); if (copyValue != null) { attributeValue = copyValue; } } setRealAttributeValueInObject(copy, attributeValue); }
Object objectInMemory = getRealAttributeValueFromObject(query.getObject(), query.getSession());
Object objectInMemory = getRealAttributeValueFromObject(query.getObject(), query.getSession()); Object objectFromDatabase = null;
Object valueOfSource = getRealAttributeValueFromObject(source, mergeManager.getSession()); Object valueOfTarget = getRealAttributeValueFromObject(target, mergeManager.getSession()); if ( valueOfTarget != targetValueOfSource ) { //equality comparison cause both are uow clones this.getDescriptor().getObjectChangePolicy().raiseInternalPropertyChangeEvent(target, getAttributeName(), valueOfTarget, targetValueOfSource);
Object object = getRealAttributeValueFromObject(query.getObject(), query.getSession());
Object object = getRealAttributeValueFromObject(query.getObject(), query.getSession()); if (object != null) { ObjectChangeSet changeSet = query.getObjectChangeSet();
mergeManager.registerRemovedNewObjectIfRequired(getRealAttributeValueFromObject(source, mergeManager.getSession()));