Top Description Constructors Methods
org.eclipse.persistence.descriptors.changetracking

public Class AttributeChangeTrackingPolicy

extends ObjectChangeTrackingPolicy
Class Inheritance
Imports
java.beans.PropertyChangeListener, java.util.*, org.eclipse.persistence.descriptors.ClassDescriptor, org.eclipse.persistence.internal.descriptors.changetracking.*, org.eclipse.persistence.internal.sessions.AbstractSession, .ChangeRecord, .ObjectChangeSet, .UnitOfWorkChangeSet, .UnitOfWorkImpl, org.eclipse.persistence.internal.descriptors.*, org.eclipse.persistence.mappings.*, org.eclipse.persistence.queries.FetchGroup

PUBLIC: An AttributeChangeTrackingPolicy allows change tracking at the attribute level of an object by implementing ChangeTracker. Objects with changed attributes will be processed in the UnitOfWork commit process to include any changes in the results of the commit. Unchanged objects will be ignored.
See Also
DeferredChangeDetectionPolicy, ObjectChangeTrackingPolicy, ChangeTracker

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Object
public ObjectChangeSet
calculateChangesForExistingObject(Object
the Object to compute a change set for
clone
,
UnitOfWorkChangeSet
the change set to add changes to
changeSet
,
UnitOfWorkImpl
the current session
unitOfWork
,
ClassDescriptor
the descriptor for this object
descriptor
,
boolean
indicates whether PreUpdate event should be risen (usually true)
shouldRaiseEvent
)

Overrides org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.calculateChangesForExistingObject.

Implements org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.calculateChangesForExistingObject.

INTERNAL: PERF: Calculate change for the existing object, avoids check for new since already know.
public ObjectChangeSet
public boolean
public void
revertChanges(Object clone, ClassDescriptor descriptor, UnitOfWorkImpl uow, Map<K, V>
may not be the same as what is in the uow
cloneMapping
,
boolean forRefresh)

Overrides org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.revertChanges.

Implements org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.revertChanges.

INTERNAL: Clear the change set in the change event listener.
public void
public PropertyChangeListener
public void
public void
updateListenerForSelfMerge(ObjectChangeListener listener, ForeignReferenceMapping mapping, Object source, Object target, UnitOfWorkImpl unitOfWork)

Overrides org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.updateListenerForSelfMerge.

Implements org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.updateListenerForSelfMerge.

INTERNAL: In cases where a relationship with detached or new entities is merged into itself previous changes may have been recorded for the detached/new entity that need to be updated.
public void
Inherited from org.eclipse.persistence.descriptors.changetracking.ObjectChangeTrackingPolicy:
clearChangesdissableEventProcessingenableEventProcessinginitializeisDeferredChangeDetectionPolicyisObjectChangeTrackingPolicyraiseInternalPropertyChangeEventshouldCompareExistingObjectForChange

Constructor Detail

AttributeChangeTrackingPolicyback to summary
public AttributeChangeTrackingPolicy()

Method Detail

buildBackupCloneback to summary
public Object buildBackupClone(Object clone, ObjectBuilder builder, UnitOfWorkImpl uow)

Overrides org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.buildBackupClone.

Implements org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.buildBackupClone.

INTERNAL: Only build backup clone

Annotations
@Override
calculateChangesForExistingObjectback to summary
public ObjectChangeSet calculateChangesForExistingObject(Object clone, UnitOfWorkChangeSet changeSet, UnitOfWorkImpl unitOfWork, ClassDescriptor descriptor, boolean shouldRaiseEvent)

Overrides org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.calculateChangesForExistingObject.

Implements org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.calculateChangesForExistingObject.

INTERNAL: PERF: Calculate change for the existing object, avoids check for new since already know. Avoid backup clone, as not used.

Parameters
clone:Object

Doc from org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.calculateChangesForExistingObject.

the Object to compute a change set for

changeSet:UnitOfWorkChangeSet

Doc from org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.calculateChangesForExistingObject.

the change set to add changes to

unitOfWork:UnitOfWorkImpl

Doc from org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.calculateChangesForExistingObject.

the current session

descriptor:ClassDescriptor

Doc from org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.calculateChangesForExistingObject.

the descriptor for this object

shouldRaiseEvent:boolean

Doc from org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.calculateChangesForExistingObject.

indicates whether PreUpdate event should be risen (usually true)

Returns:ObjectChangeSet

Doc from org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.calculateChangesForExistingObject.

ObjectChangeSet an object change set describing the changes to this object

Annotations
@Override
createObjectChangeSetback to summary
public ObjectChangeSet createObjectChangeSet(Object clone, Object backUp, UnitOfWorkChangeSet changeSet, boolean isNew, AbstractSession session, ClassDescriptor descriptor)

Overrides org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.createObjectChangeSet.

INTERNAL: Create ObjectChangeSet

Annotations
@Override
isAttributeChangeTrackingPolicyback to summary
public boolean isAttributeChangeTrackingPolicy()

Overrides org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.isAttributeChangeTrackingPolicy.

Implements org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.isAttributeChangeTrackingPolicy.

Used to track instances of the change policies without doing an instance of check

Annotations
@Override
revertChangesback to summary
public void revertChanges(Object clone, ClassDescriptor descriptor, UnitOfWorkImpl uow, Map<K, V> cloneMapping, boolean forRefresh)

Overrides org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.revertChanges.

Implements org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.revertChanges.

INTERNAL: Clear the change set in the change event listener.

Parameters
cloneMapping:Map<K, V>

Doc from org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.revertChanges.

may not be the same as what is in the uow

Annotations
@Override
setAggregateChangeListenerback to summary
public void setAggregateChangeListener(Object parent, Object aggregate, UnitOfWorkImpl uow, ClassDescriptor descriptor, String mappingAttribute)

Overrides org.eclipse.persistence.descriptors.changetracking.ObjectChangeTrackingPolicy.setAggregateChangeListener.

Implements org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.setAggregateChangeListener.

INTERNAL: Assign ChangeListener to an aggregate object

Annotations
@Override
setChangeListenerback to summary
public PropertyChangeListener setChangeListener(Object clone, UnitOfWorkImpl uow, ClassDescriptor descriptor)

Overrides org.eclipse.persistence.descriptors.changetracking.ObjectChangeTrackingPolicy.setChangeListener.

Implements org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.setChangeListener.

INTERNAL: Assign AttributeChangeListener to PropertyChangeListener

Annotations
@Override
setChangeSetOnListenerback to summary
public void setChangeSetOnListener(ObjectChangeSet objectChangeSet, Object clone)

Overrides org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.setChangeSetOnListener.

Implements org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.setChangeSetOnListener.

INTERNAL: Set the ObjectChangeSet on the Listener, initially used for aggregate support

Annotations
@Override
updateListenerForSelfMergeback to summary
public void updateListenerForSelfMerge(ObjectChangeListener listener, ForeignReferenceMapping mapping, Object source, Object target, UnitOfWorkImpl unitOfWork)

Overrides org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.updateListenerForSelfMerge.

Implements org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.updateListenerForSelfMerge.

INTERNAL: In cases where a relationship with detached or new entities is merged into itself previous changes may have been recorded for the detached/new entity that need to be updated.

Annotations
@Override
updateWithChangesback to summary
public void updateWithChanges(Object object, ObjectChangeSet changeSet, UnitOfWorkImpl uow, ClassDescriptor descriptor)

Overrides org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.updateWithChanges.

Implements org.eclipse.persistence.descriptors.changetracking.ObjectChangePolicy.updateWithChanges.

INTERNAL: Clear the change set in the change event listener.

Annotations
@Override