|
EclipseLink 2.2.0, build 'v20110202-r8913' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy
public class DeferredChangeDetectionPolicy
PUBLIC: A DeferredChangeDetectionPolicy defers all change detection to the UnitOfWork's change detection process. Essentially, the calculateChanges() method will run for all objects in a UnitOfWork. This is the default ObjectChangePolicy unless weaving is used.
Constructor Summary | |
---|---|
DeferredChangeDetectionPolicy()
|
Method Summary | |
---|---|
java.lang.Object |
buildBackupClone(java.lang.Object clone,
org.eclipse.persistence.internal.descriptors.ObjectBuilder builder,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL: Build back up clone. |
org.eclipse.persistence.internal.sessions.ObjectChangeSet |
calculateChanges(java.lang.Object clone,
java.lang.Object backUp,
boolean isNew,
org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet changeSet,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork,
ClassDescriptor descriptor,
boolean shouldRaiseEvent)
INTERNAL: calculateChanges creates a change set for a particular object. |
org.eclipse.persistence.internal.sessions.ObjectChangeSet |
calculateChangesForExistingObject(java.lang.Object clone,
org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet changeSet,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork,
ClassDescriptor descriptor,
boolean shouldRaiseEvent)
INTERNAL: PERF: Calculate change for the new object, avoids check for new since already know. |
org.eclipse.persistence.internal.sessions.ObjectChangeSet |
calculateChangesForNewObject(java.lang.Object clone,
org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet changeSet,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork,
ClassDescriptor descriptor,
boolean shouldRaiseEvent)
INTERNAL: PERF: Calculate change for the new object, avoids check for new since already know. |
void |
clearChanges(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
ClassDescriptor descriptor,
boolean forRefresh)
INTERNAL: This is a place holder for reseting the listener on one of the subclasses |
org.eclipse.persistence.internal.sessions.ObjectChangeSet |
createObjectChangeSet(java.lang.Object clone,
java.lang.Object backUp,
org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet changeSet,
boolean isNew,
org.eclipse.persistence.internal.sessions.AbstractSession session,
ClassDescriptor descriptor)
INTERNAL: Create ObjectChangeSet |
org.eclipse.persistence.internal.sessions.ObjectChangeSet |
createObjectChangeSetThroughComparison(java.lang.Object clone,
java.lang.Object backUp,
org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet changeSet,
boolean isNew,
org.eclipse.persistence.internal.sessions.AbstractSession session,
ClassDescriptor descriptor)
INTERNAL: Create ObjectChangeSet |
void |
dissableEventProcessing(java.lang.Object changeTracker)
INTERNAL: This method is used to disable changetracking temporarily |
void |
enableEventProcessing(java.lang.Object changeTracker)
INTERNAL: This method is used to enable changetracking temporarily |
void |
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session,
ClassDescriptor descriptor)
INTERNAL: initialize the Policy |
boolean |
isAttributeChangeTrackingPolicy()
Used to track instances of the change policies without doing an instance of check |
boolean |
isDeferredChangeDetectionPolicy()
Used to track instances of the change policies without doing an instance of check |
boolean |
isObjectChangeTrackingPolicy()
Used to track instances of the change policies without doing an instance of check |
void |
raiseInternalPropertyChangeEvent(java.lang.Object source,
java.lang.String propertyName,
java.lang.Object oldValue,
java.lang.Object newValue)
INTERNAL: This may cause a property change event to be raised to a listener in the case that a listener exists. |
void |
revertChanges(java.lang.Object clone,
ClassDescriptor descriptor,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Map cloneMapping,
boolean forRefresh)
INTERNAL: This method is used to revert an object within the unit of work |
void |
setAggregateChangeListener(java.lang.Object parent,
java.lang.Object aggregate,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
ClassDescriptor descriptor,
java.lang.String mappingAttribute)
INTERNAL: Assign ChangeListener to an aggregate object |
java.beans.PropertyChangeListener |
setChangeListener(java.lang.Object clone,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
ClassDescriptor descriptor)
INTERNAL: Set ChangeListener for the clone |
void |
setChangeSetOnListener(org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet,
java.lang.Object clone)
INTERNAL: Set the ObjectChangeSet on the Listener, initially used for aggregate support |
boolean |
shouldCompareExistingObjectForChange(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork,
ClassDescriptor descriptor)
INTERNAL: Return true if the Object should be compared, false otherwise. |
void |
updateWithChanges(java.lang.Object clone,
org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
ClassDescriptor descriptor)
INTERNAL: Clear changes in the ChangeListener of the clone |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DeferredChangeDetectionPolicy()
Method Detail |
---|
public org.eclipse.persistence.internal.sessions.ObjectChangeSet calculateChangesForNewObject(java.lang.Object clone, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet changeSet, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, ClassDescriptor descriptor, boolean shouldRaiseEvent)
calculateChangesForNewObject
in interface ObjectChangePolicy
clone
- the Object to compute a change set forchangeSet
- the change set to add changes todescriptor
- the descriptor for this objectshouldRaiseEvent
- indicates whether PreUpdate event should be risen (usually true)
public org.eclipse.persistence.internal.sessions.ObjectChangeSet calculateChangesForExistingObject(java.lang.Object clone, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet changeSet, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, ClassDescriptor descriptor, boolean shouldRaiseEvent)
calculateChangesForExistingObject
in interface ObjectChangePolicy
clone
- the Object to compute a change set forchangeSet
- the change set to add changes todescriptor
- the descriptor for this objectshouldRaiseEvent
- indicates whether PreUpdate event should be risen (usually true)
public org.eclipse.persistence.internal.sessions.ObjectChangeSet calculateChanges(java.lang.Object clone, java.lang.Object backUp, boolean isNew, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet changeSet, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, ClassDescriptor descriptor, boolean shouldRaiseEvent)
calculateChanges
in interface ObjectChangePolicy
clone
- the Object to compute a change set forbackUp
- the old version of the object to use for comparisonchangeSet
- the change set to add changes tosession
- the current sessiondescriptor
- the descriptor for this objectshouldRaiseEvent
- indicates whether PreUpdate event should be risen (usually true)
public void clearChanges(java.lang.Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, ClassDescriptor descriptor, boolean forRefresh)
clearChanges
in interface ObjectChangePolicy
public org.eclipse.persistence.internal.sessions.ObjectChangeSet createObjectChangeSet(java.lang.Object clone, java.lang.Object backUp, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet changeSet, boolean isNew, org.eclipse.persistence.internal.sessions.AbstractSession session, ClassDescriptor descriptor)
public org.eclipse.persistence.internal.sessions.ObjectChangeSet createObjectChangeSetThroughComparison(java.lang.Object clone, java.lang.Object backUp, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet changeSet, boolean isNew, org.eclipse.persistence.internal.sessions.AbstractSession session, ClassDescriptor descriptor)
createObjectChangeSetThroughComparison
in interface ObjectChangePolicy
public void dissableEventProcessing(java.lang.Object changeTracker)
dissableEventProcessing
in interface ObjectChangePolicy
public void enableEventProcessing(java.lang.Object changeTracker)
enableEventProcessing
in interface ObjectChangePolicy
public boolean shouldCompareExistingObjectForChange(java.lang.Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, ClassDescriptor descriptor)
shouldCompareExistingObjectForChange
in interface ObjectChangePolicy
object
- the object that will be comparedunitOfWork
- the active unitOfWorkdescriptor
- the descriptor for the current objectpublic java.lang.Object buildBackupClone(java.lang.Object clone, org.eclipse.persistence.internal.descriptors.ObjectBuilder builder, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
buildBackupClone
in interface ObjectChangePolicy
public void setAggregateChangeListener(java.lang.Object parent, java.lang.Object aggregate, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, ClassDescriptor descriptor, java.lang.String mappingAttribute)
setAggregateChangeListener
in interface ObjectChangePolicy
public java.beans.PropertyChangeListener setChangeListener(java.lang.Object clone, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, ClassDescriptor descriptor)
setChangeListener
in interface ObjectChangePolicy
public void setChangeSetOnListener(org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet, java.lang.Object clone)
setChangeSetOnListener
in interface ObjectChangePolicy
public void updateWithChanges(java.lang.Object clone, org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, ClassDescriptor descriptor)
updateWithChanges
in interface ObjectChangePolicy
public void raiseInternalPropertyChangeEvent(java.lang.Object source, java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
raiseInternalPropertyChangeEvent
in interface ObjectChangePolicy
public void revertChanges(java.lang.Object clone, ClassDescriptor descriptor, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, java.util.Map cloneMapping, boolean forRefresh)
revertChanges
in interface ObjectChangePolicy
cloneMapping
- may not be the same as what is in the uowpublic void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session, ClassDescriptor descriptor)
initialize
in interface ObjectChangePolicy
public boolean isDeferredChangeDetectionPolicy()
isDeferredChangeDetectionPolicy
in interface ObjectChangePolicy
public boolean isObjectChangeTrackingPolicy()
isObjectChangeTrackingPolicy
in interface ObjectChangePolicy
public boolean isAttributeChangeTrackingPolicy()
isAttributeChangeTrackingPolicy
in interface ObjectChangePolicy
|
EclipseLink 2.2.0, build 'v20110202-r8913' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |