public class UnitOfWorkChangeSet extends java.lang.Object implements java.io.Serializable, UnitOfWorkChangeSet
Purpose: This is the overall collection of changes.
Description: It holds all of the object changes and all ObjectChanges, with the same classType and primary keys, referenced in a changeSet should be the same object.
Constructor and Description |
---|
UnitOfWorkChangeSet()
INTERNAL:
Create a ChangeSet
|
UnitOfWorkChangeSet(AbstractSession session)
INTERNAL:
Create a ChangeSet
|
Modifier and Type | Method and Description |
---|---|
void |
addDeletedObject(java.lang.Object object,
AbstractSession session)
INTERNAL:
Add the Deleted object to the changeSet.
|
void |
addDeletedObjects(java.util.Map deletedObjects,
AbstractSession session)
INTERNAL:
Add the Deleted objects to the changeSet.
|
void |
addObjectChangeSet(ObjectChangeSet objectChanges,
AbstractSession session,
boolean forceToNewObjectList)
INTERNAL:
Add to the changes for 'object' object to this changeSet.
|
void |
addObjectChangeSetForIdentity(ObjectChangeSet objectChanges,
java.lang.Object object)
INTERNAL:
Add change records to the lists used to maintain identity.
|
UnitOfWorkChangeSet |
buildCacheCoordinationMergeChangeSet(AbstractSession session)
INTERNAL:
Return a new UnitOfWorkChangeSet that only includes data require for the remote merge,
for cache coordination.
|
ObjectChangeSet |
findObjectChangeSet(ObjectChangeSet changeSet,
UnitOfWorkChangeSet mergeFromChangeSet)
INTERNAL:
This method can be used find the equivalent changeset within this UnitOfWorkChangeSet
Aggregates, and new objects without primaryKeys from serialized ChangeSets will not be found
Which may result in duplicates, in the UnitOfWorkChangeSet.
|
ObjectChangeSet |
findOrCreateLocalObjectChangeSet(java.lang.Object entityClone,
ClassDescriptor descriptor,
boolean isNew)
INTERNAL"
This method is used during the merge process to either find the existing ChangeSet or create a new one.
|
ObjectChangeSet |
findOrIntegrateObjectChangeSet(ObjectChangeSet tofind,
UnitOfWorkChangeSet mergeFromChangeSet)
INTERNAL:
This method will be used during the merge process to either find an equivalent change set
within this UnitOfWorkChangeSet or integrate that changeset into this UOW ChangeSet
|
java.util.Set<ClassDescriptor> |
findUpdatedObjectsClasses()
INTERNAL:
Returns the set of classes corresponding to updated objects in objectChanges.
|
java.util.Map<ObjectChangeSet,ObjectChangeSet> |
getAggregateChangeSets()
INTERNAL:
Get the Aggregate list.
|
java.util.Map<ObjectChangeSet,ObjectChangeSet> |
getAllChangeSets()
INTERNAL:
This method returns a reference to the collection.
|
java.util.Map<java.lang.Object,ObjectChangeSet> |
getCloneToObjectChangeSet()
INTERNAL:
Get the clone to object change hash table.
|
java.util.Map<ObjectChangeSet,ObjectChangeSet> |
getDeletedObjects()
INTERNAL:
This method returns the reference to the deleted objects from the changeSet.
|
java.util.Map<java.lang.Class,java.util.Map<ObjectChangeSet,ObjectChangeSet>> |
getNewObjectChangeSets()
INTERNAL:
This method will return a reference to the new object change set collections.
|
java.util.Map<java.lang.Class,java.util.Map<ObjectChangeSet,ObjectChangeSet>> |
getObjectChanges()
INTERNAL:
Returns the ObjectChanges held by this ChangeSet.
|
ObjectChangeSet |
getObjectChangeSetForClone(java.lang.Object clone)
ADVANCED:
Get ChangeSet for a particular clone
|
AbstractSession |
getSession()
Return the session.
|
java.lang.Object |
getUOWCloneForObjectChangeSet(ObjectChangeSet changeSet)
ADVANCED:
This method returns the Clone for a particular changeSet
|
boolean |
hasChanges()
INTERNAL:
Returns true if the Unit Of Work change Set has changes
|
boolean |
hasDeletedObjects()
INTERNAL:
Returns true if any deleted objects.
|
boolean |
hasForcedChanges()
INTERNAL:
Returns true if this uowChangeSet contains an objectChangeSet that has forced
SQL changes.
|
boolean |
isChangeSetFromOutsideUOW()
INTERNAL:
Get the internal flag that tells that this change set was built outside this
UOW and the changes it contains cannot be calculated from the contents of this UOW
|
ObjectChangeSet |
mergeObjectChanges(ObjectChangeSet objectChangeSet,
UnitOfWorkChangeSet mergeFromChangeSet)
INTERNAL:
This method will be used to merge a change set into an UnitOfWorkChangeSet
This method returns the local instance of the changeset
|
void |
mergeUnitOfWorkChangeSet(UnitOfWorkChangeSet mergeFromChangeSet,
AbstractSession session,
boolean postCommit)
INTERNAL:
THis method will be used to merge another changeset into this changeset.
|
void |
putNewObjectInChangesList(ObjectChangeSet objectChangeSet,
AbstractSession session)
INTERNAL:
Used to rehash the new objects back into the objectChanges list for serialization
Assumes the transaction in in post commit stage.
|
void |
removeObjectChangeSet(ObjectChangeSet changeSet)
INTERNAL:
Add the changed Object's records to the ChangeSet.
|
void |
removeObjectChangeSetFromNewList(ObjectChangeSet objectChangeSet,
AbstractSession session)
INTERNAL:
Used to remove a new object from the new objects list once it has been
inserted and added to the objectChangesList
|
void |
setAllChangeSets(java.util.Map allChangeSets)
INTERNAL:
Sets the collection of ObjectChanges in the change Set.
|
void |
setCloneToObjectChangeSet(java.util.Map<java.lang.Object,ObjectChangeSet> cloneToObjectChangeSet)
INTERNAL:
This method is used to set the map for cloneToObject reference.
|
void |
setDeletedObjects(java.util.Map deletedObjects)
INTERNAL:
Sets the collection of deleted objects.
|
void |
setHasChanges(boolean flag)
INTERNAL:
Set whether the Unit Of Work change Set has changes
|
void |
setIsChangeSetFromOutsideUOW(boolean isChangeSetFromOutsideUOW)
INTERNAL:
Set the internal flag that tells that this change set was built outside this
UOW and the changes it contains cannot be calculated from the contents of this UOW
|
void |
setObjectChangeSetToUOWClone(java.util.Map<ObjectChangeSet,java.lang.Object> objectChangeSetToUOWClone)
INTERNAL:
This method is used to insert a new collection into the UOWChangeSet.
|
void |
setSession(AbstractSession session)
INTERNAL:
Set the session.
|
public UnitOfWorkChangeSet()
public UnitOfWorkChangeSet(AbstractSession session)
public AbstractSession getSession()
public void setSession(AbstractSession session)
public void addDeletedObjects(java.util.Map deletedObjects, AbstractSession session)
public void addDeletedObject(java.lang.Object object, AbstractSession session)
public void addObjectChangeSet(ObjectChangeSet objectChanges, AbstractSession session, boolean forceToNewObjectList)
forceToNewObjectList
- - Any pre commit actions should pass in true
since new objects have extra-handling. Anything post commit, pass in
false.addObjectChangeSetForIdentity()
public ObjectChangeSet findObjectChangeSet(ObjectChangeSet changeSet, UnitOfWorkChangeSet mergeFromChangeSet)
public ObjectChangeSet findOrIntegrateObjectChangeSet(ObjectChangeSet tofind, UnitOfWorkChangeSet mergeFromChangeSet)
public ObjectChangeSet findOrCreateLocalObjectChangeSet(java.lang.Object entityClone, ClassDescriptor descriptor, boolean isNew)
public void addObjectChangeSetForIdentity(ObjectChangeSet objectChanges, java.lang.Object object)
objectChanges
- prototype.changeset.ObjectChangesaddObjectChangeSet()
public java.util.Map<ObjectChangeSet,ObjectChangeSet> getAggregateChangeSets()
public java.util.Map<ObjectChangeSet,ObjectChangeSet> getAllChangeSets()
getAllChangeSets
in interface UnitOfWorkChangeSet
public UnitOfWorkChangeSet buildCacheCoordinationMergeChangeSet(AbstractSession session)
public java.util.Map<java.lang.Object,ObjectChangeSet> getCloneToObjectChangeSet()
public java.util.Map<ObjectChangeSet,ObjectChangeSet> getDeletedObjects()
getDeletedObjects
in interface UnitOfWorkChangeSet
public java.util.Map<java.lang.Class,java.util.Map<ObjectChangeSet,ObjectChangeSet>> getObjectChanges()
public java.util.Set<ClassDescriptor> findUpdatedObjectsClasses()
public ObjectChangeSet getObjectChangeSetForClone(java.lang.Object clone)
getObjectChangeSetForClone
in interface UnitOfWorkChangeSet
public java.lang.Object getUOWCloneForObjectChangeSet(ObjectChangeSet changeSet)
getUOWCloneForObjectChangeSet
in interface UnitOfWorkChangeSet
public boolean hasChanges()
hasChanges
in interface UnitOfWorkChangeSet
public boolean hasDeletedObjects()
public void setHasChanges(boolean flag)
public boolean hasForcedChanges()
public ObjectChangeSet mergeObjectChanges(ObjectChangeSet objectChangeSet, UnitOfWorkChangeSet mergeFromChangeSet)
public void mergeUnitOfWorkChangeSet(UnitOfWorkChangeSet mergeFromChangeSet, AbstractSession session, boolean postCommit)
public void putNewObjectInChangesList(ObjectChangeSet objectChangeSet, AbstractSession session)
public void removeObjectChangeSetFromNewList(ObjectChangeSet objectChangeSet, AbstractSession session)
public void removeObjectChangeSet(ObjectChangeSet changeSet)
public void setIsChangeSetFromOutsideUOW(boolean isChangeSetFromOutsideUOW)
public boolean isChangeSetFromOutsideUOW()
public void setCloneToObjectChangeSet(java.util.Map<java.lang.Object,ObjectChangeSet> cloneToObjectChangeSet)
public void setAllChangeSets(java.util.Map allChangeSets)
public void setDeletedObjects(java.util.Map deletedObjects)
public void setObjectChangeSetToUOWClone(java.util.Map<ObjectChangeSet,java.lang.Object> objectChangeSetToUOWClone)
public java.util.Map<java.lang.Class,java.util.Map<ObjectChangeSet,ObjectChangeSet>> getNewObjectChangeSets()
EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference