Class AttributeChangeListener
- java.lang.Object
-
- org.eclipse.persistence.internal.descriptors.changetracking.ObjectChangeListener
-
- org.eclipse.persistence.internal.descriptors.changetracking.AttributeChangeListener
-
- All Implemented Interfaces:
PropertyChangeListener
,Serializable
,EventListener
- Direct Known Subclasses:
AggregateAttributeChangeListener
public class AttributeChangeListener extends ObjectChangeListener
Purpose: Define a listener for attribute change tracking.
Description: Listener is notified on a PropertyChangeEvent from the object it belongs to.
Responsibilities: Set the flag to true and build ObjectChangeSet that includes the ChangeRecords for the changed attributes.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected ClassDescriptor
descriptor
protected ObjectChangeSet
objectChangeSet
protected Object
owner
protected UnitOfWorkImpl
uow
-
Fields inherited from class org.eclipse.persistence.internal.descriptors.changetracking.ObjectChangeListener
hasChanges, ignoreDepth, ignoreEvents
-
-
Constructor Summary
Constructors Constructor Description AttributeChangeListener(ClassDescriptor descriptor, UnitOfWorkImpl uow, Object owner)
INTERNAL: Create a AttributeChangeListener with a descriptor and unit of work
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearChanges(boolean forRefresh)
INTERNAL: Clear the changes in this listenerClassDescriptor
getDescriptor()
INTERNAL: Return the descriptor associated with this listenerObjectChangeSet
getObjectChangeSet()
INTERNAL: Return the object change set associated with this listenerUnitOfWorkImpl
getUnitOfWork()
INTERNAL: Return the unit of work associated with this listenervoid
internalPropertyChange(PropertyChangeEvent evt)
INTERNAL: This method marks the object as changed.void
propertyChange(PropertyChangeEvent evt)
PUBLIC: This method creates the object change set if necessary.void
setDescriptor(ClassDescriptor descriptor)
INTERNAL: Set the descriptor associated with this listenervoid
setObjectChangeSet(ObjectChangeSet changeSet)
INTERNAL: Return the object change set associated with this listenervoid
setUnitOfWork(UnitOfWorkImpl uow)
INTERNAL: Set the unit of work associated with this listenerString
toString()
-
Methods inherited from class org.eclipse.persistence.internal.descriptors.changetracking.ObjectChangeListener
hasChanges, ignoreEvents, processEvents
-
-
-
-
Field Detail
-
descriptor
protected transient ClassDescriptor descriptor
-
uow
protected transient UnitOfWorkImpl uow
-
objectChangeSet
protected ObjectChangeSet objectChangeSet
-
owner
protected Object owner
-
-
Constructor Detail
-
AttributeChangeListener
public AttributeChangeListener(ClassDescriptor descriptor, UnitOfWorkImpl uow, Object owner)
INTERNAL: Create a AttributeChangeListener with a descriptor and unit of work
-
-
Method Detail
-
getObjectChangeSet
public ObjectChangeSet getObjectChangeSet()
INTERNAL: Return the object change set associated with this listener
-
setObjectChangeSet
public void setObjectChangeSet(ObjectChangeSet changeSet)
INTERNAL: Return the object change set associated with this listener
-
getDescriptor
public ClassDescriptor getDescriptor()
INTERNAL: Return the descriptor associated with this listener
-
setDescriptor
public void setDescriptor(ClassDescriptor descriptor)
INTERNAL: Set the descriptor associated with this listener
-
getUnitOfWork
public UnitOfWorkImpl getUnitOfWork()
INTERNAL: Return the unit of work associated with this listener
-
setUnitOfWork
public void setUnitOfWork(UnitOfWorkImpl uow)
INTERNAL: Set the unit of work associated with this listener
-
propertyChange
public void propertyChange(PropertyChangeEvent evt)
PUBLIC: This method creates the object change set if necessary. It also creates/updates the change record based on the new value. Object should check the if newValue and oldValue are identical. If they are identical, do not create PropertyChangeEvent and call this method.- Specified by:
propertyChange
in interfacePropertyChangeListener
- Overrides:
propertyChange
in classObjectChangeListener
-
internalPropertyChange
public void internalPropertyChange(PropertyChangeEvent evt)
INTERNAL: This method marks the object as changed. This method is only called by EclipseLink- Overrides:
internalPropertyChange
in classObjectChangeListener
-
clearChanges
public void clearChanges(boolean forRefresh)
INTERNAL: Clear the changes in this listener- Overrides:
clearChanges
in classObjectChangeListener
-
-