public class DeferredChangeDetectionPolicy extends java.lang.Object implements ObjectChangePolicy, java.io.Serializable
| Constructor and Description |
|---|
DeferredChangeDetectionPolicy() |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
buildBackupClone(java.lang.Object clone,
ObjectBuilder builder,
UnitOfWorkImpl uow)
INTERNAL:
Build back up clone.
|
ObjectChangeSet |
calculateChanges(java.lang.Object clone,
java.lang.Object backUp,
UnitOfWorkChangeSet changeSet,
AbstractSession session,
ClassDescriptor descriptor,
boolean shouldRiseEvent)
INTERNAL:
calculateChanges creates a change set for a particular object.
|
void |
clearChanges(java.lang.Object object,
UnitOfWorkImpl uow,
ClassDescriptor descriptor)
INTERNAL:
This is a place holder for reseting the listener on one of the subclasses
|
ObjectChangeSet |
createObjectChangeSet(java.lang.Object clone,
java.lang.Object backUp,
UnitOfWorkChangeSet changeSet,
boolean isNew,
AbstractSession session,
ClassDescriptor descriptor)
INTERNAL:
Create ObjectChangeSet
|
ObjectChangeSet |
createObjectChangeSetThroughComparison(java.lang.Object clone,
java.lang.Object backUp,
UnitOfWorkChangeSet changeSet,
boolean isNew,
AbstractSession session,
ClassDescriptor descriptor)
INTERNAL:
Create ObjectChangeSet
|
void |
dissableEventProcessing(java.lang.Object changeTracker)
INTERNAL:
This method is used to dissable changetracking temporarily
|
void |
enableEventProcessing(java.lang.Object changeTracker)
INTERNAL:
This method is used to enable changetracking temporarily
|
void |
initialize(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 listner in the case that a listener exists.
|
void |
revertChanges(java.lang.Object clone,
ClassDescriptor descriptor,
UnitOfWorkImpl uow,
IdentityHashtable cloneMapping)
INTERNAL:
This method is used to revert an object within the unit of work
|
void |
setAggregateChangeListener(java.lang.Object parent,
java.lang.Object aggregate,
UnitOfWorkImpl uow,
ClassDescriptor descriptor,
java.lang.String mappingAttribute)
INTERNAL:
Assign Changelistner to an aggregate object
|
void |
setChangeListener(java.lang.Object clone,
UnitOfWorkImpl uow,
ClassDescriptor descriptor)
INTERNAL:
Set ChangeListener for the clone
|
void |
setChangeSetOnListener(ObjectChangeSet objectChangeSet,
java.lang.Object clone)
INTERNAL:
Set the ObjectChangeSet on the Listener, initially used for aggregate support
|
boolean |
shouldCompareForChange(java.lang.Object object,
UnitOfWorkImpl unitOfWork,
ClassDescriptor descriptor)
INTERNAL:
Return true if the Object should be compared, false otherwise.
|
void |
updateWithChanges(java.lang.Object clone,
ObjectChangeSet objectChangeSet,
UnitOfWorkImpl uow,
ClassDescriptor descriptor)
INTERNAL:
Clear changes in the ChangeListener of the clone
|
public ObjectChangeSet calculateChanges(java.lang.Object clone, java.lang.Object backUp, UnitOfWorkChangeSet changeSet, AbstractSession session, ClassDescriptor descriptor, boolean shouldRiseEvent)
calculateChanges in interface ObjectChangePolicyjava.lang.Object - clone the Object to compute a change set forjava.lang.Object - backUp the old version of the object to use for comparisonoracle.toplink.essentials.internal.sessions.UnitOfWorkChangeSet - the change set to add changes toSession - the current sessionDescriptor - the descriptor for this objectshouldRiseEvent - indicates whether PreUpdate event should be risen (usually true)public void clearChanges(java.lang.Object object,
UnitOfWorkImpl uow,
ClassDescriptor descriptor)
clearChanges in interface ObjectChangePolicypublic ObjectChangeSet createObjectChangeSet(java.lang.Object clone, java.lang.Object backUp, UnitOfWorkChangeSet changeSet, boolean isNew, AbstractSession session, ClassDescriptor descriptor)
public ObjectChangeSet createObjectChangeSetThroughComparison(java.lang.Object clone, java.lang.Object backUp, UnitOfWorkChangeSet changeSet, boolean isNew, AbstractSession session, ClassDescriptor descriptor)
createObjectChangeSetThroughComparison in interface ObjectChangePolicypublic void dissableEventProcessing(java.lang.Object changeTracker)
dissableEventProcessing in interface ObjectChangePolicypublic void enableEventProcessing(java.lang.Object changeTracker)
enableEventProcessing in interface ObjectChangePolicypublic boolean shouldCompareForChange(java.lang.Object object,
UnitOfWorkImpl unitOfWork,
ClassDescriptor descriptor)
shouldCompareForChange in interface ObjectChangePolicyjava.lang.Object - object - the object that will be comparedoracle.toplink.essentials.publicinterface.UnitOfWork - unitOfWork - the active unitOfWorkoracle.toplink.essentials.publicinterface.Descriptor - descriptor - the descriptor for the current objectpublic java.lang.Object buildBackupClone(java.lang.Object clone,
ObjectBuilder builder,
UnitOfWorkImpl uow)
buildBackupClone in interface ObjectChangePolicypublic void setAggregateChangeListener(java.lang.Object parent,
java.lang.Object aggregate,
UnitOfWorkImpl uow,
ClassDescriptor descriptor,
java.lang.String mappingAttribute)
setAggregateChangeListener in interface ObjectChangePolicypublic void setChangeListener(java.lang.Object clone,
UnitOfWorkImpl uow,
ClassDescriptor descriptor)
setChangeListener in interface ObjectChangePolicypublic void setChangeSetOnListener(ObjectChangeSet objectChangeSet, java.lang.Object clone)
setChangeSetOnListener in interface ObjectChangePolicypublic void updateWithChanges(java.lang.Object clone,
ObjectChangeSet objectChangeSet,
UnitOfWorkImpl uow,
ClassDescriptor descriptor)
updateWithChanges in interface ObjectChangePolicypublic void raiseInternalPropertyChangeEvent(java.lang.Object source,
java.lang.String propertyName,
java.lang.Object oldValue,
java.lang.Object newValue)
raiseInternalPropertyChangeEvent in interface ObjectChangePolicypublic void revertChanges(java.lang.Object clone,
ClassDescriptor descriptor,
UnitOfWorkImpl uow,
IdentityHashtable cloneMapping)
revertChanges in interface ObjectChangePolicycloneMapping - may not be the same as whats in the uowpublic void initialize(AbstractSession session, ClassDescriptor descriptor)
initialize in interface ObjectChangePolicypublic boolean isDeferredChangeDetectionPolicy()
isDeferredChangeDetectionPolicy in interface ObjectChangePolicypublic boolean isObjectChangeTrackingPolicy()
isObjectChangeTrackingPolicy in interface ObjectChangePolicypublic boolean isAttributeChangeTrackingPolicy()
isAttributeChangeTrackingPolicy in interface ObjectChangePolicy