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

public Class ObjectChangeTrackingPolicy

extends DeferredChangeDetectionPolicy
Class Inheritance
Known Direct Subclasses
org.eclipse.persistence.descriptors.changetracking.AttributeChangeTrackingPolicy
Imports
java.beans.PropertyChangeEvent, .PropertyChangeListener, java.util.List, org.eclipse.persistence.internal.descriptors.ObjectBuilder, org.eclipse.persistence.internal.descriptors.changetracking.ObjectChangeListener, .AggregateObjectChangeListener, org.eclipse.persistence.internal.sessions.AbstractSession, .UnitOfWorkImpl, org.eclipse.persistence.descriptors.ClassDescriptor, .FetchGroupManager, org.eclipse.persistence.exceptions.DescriptorException, org.eclipse.persistence.mappings.DatabaseMapping

PUBLIC: A ObjectChangeTrackingPolicy allows an object to calculate for itself whether it should has changed by implementing ChangeTracker. Changed objects 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, ChangeTracker

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
public void
public void
public void
public boolean
public boolean
public void
raiseInternalPropertyChangeEvent(Object source, String propertyName, Object oldValue, Object newValue)

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

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

INTERNAL: This may cause a property change event to be raised to a listner in the case that a listener exists.
public void
public PropertyChangeListener
public boolean
shouldCompareExistingObjectForChange(Object
the object that will be compared
object
,
UnitOfWorkImpl
the active unitOfWork
unitOfWork
,
ClassDescriptor
the descriptor for the current object
descriptor
)

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

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

INTERNAL: Return true if the Object should be compared, false otherwise.
Inherited from org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy:
buildBackupClonecalculateChangescalculateChangesForExistingObjectcalculateChangesForNewObjectcreateObjectChangeSetcreateObjectChangeSetThroughComparisonisAttributeChangeTrackingPolicyrevertChangessetChangeSetOnListenerupdateListenerForSelfMergeupdateWithChanges

Constructor Detail

ObjectChangeTrackingPolicyback to summary
public ObjectChangeTrackingPolicy()

Method Detail

clearChangesback to summary
public void clearChanges(Object clone, UnitOfWorkImpl uow, ClassDescriptor descriptor, boolean forRefresh)

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

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

INTERNAL: Clear the changes in the ObjectChangeListener

Annotations
@Override
dissableEventProcessingback to summary
public void dissableEventProcessing(Object changeTracker)

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

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

INTERNAL: This method is used to disable changetracking temporarily

Annotations
@Override
enableEventProcessingback to summary
public void enableEventProcessing(Object changeTracker)

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

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

INTERNAL: This method is used to enable changetracking temporarily

Annotations
@Override
initializeback to summary
public void initialize(AbstractSession session, ClassDescriptor descriptor)

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

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

INTERNAL: initialize the Policy

Annotations
@Override
isDeferredChangeDetectionPolicyback to summary
public boolean isDeferredChangeDetectionPolicy()

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

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

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

Annotations
@Override
isObjectChangeTrackingPolicyback to summary
public boolean isObjectChangeTrackingPolicy()

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

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

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

Annotations
@Override
raiseInternalPropertyChangeEventback to summary
public void raiseInternalPropertyChangeEvent(Object source, String propertyName, Object oldValue, Object newValue)

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

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

INTERNAL: This may cause a property change event to be raised to a listner in the case that a listener exists. If there is no listener then this call is a no-op

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

Overrides org.eclipse.persistence.descriptors.changetracking.DeferredChangeDetectionPolicy.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.DeferredChangeDetectionPolicy.setChangeListener.

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

INTERNAL: Assign ObjectChangeListener to PropertyChangeListener

Annotations
@Override
shouldCompareExistingObjectForChangeback to summary
public boolean shouldCompareExistingObjectForChange(Object object, UnitOfWorkImpl unitOfWork, ClassDescriptor descriptor)

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

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

INTERNAL: Return true if the Object should be compared, false otherwise. In ObjectChangeTrackingPolicy or AttributeChangeTracking Policy this method will return true if the object is new, if the object is in the OptimisticReadLock list or if the listener.hasChanges() returns true.

Parameters
object:Object

the object that will be compared

unitOfWork:UnitOfWorkImpl

the active unitOfWork

descriptor:ClassDescriptor

the descriptor for the current object

Annotations
@Override