Class AttributeChangeListener

  • All Implemented Interfaces:
    java.beans.PropertyChangeListener, java.io.Serializable, java.util.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
    • Constructor Detail

      • AttributeChangeListener

        public AttributeChangeListener​(ClassDescriptor descriptor,
                                       UnitOfWorkImpl uow,
                                       java.lang.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​(java.beans.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 interface java.beans.PropertyChangeListener
        Overrides:
        propertyChange in class ObjectChangeListener
      • internalPropertyChange

        public void internalPropertyChange​(java.beans.PropertyChangeEvent evt)
        INTERNAL: This method marks the object as changed. This method is only called by EclipseLink
        Overrides:
        internalPropertyChange in class ObjectChangeListener
      • clearChanges

        public void clearChanges​(boolean forRefresh)
        INTERNAL: Clear the changes in this listener
        Overrides:
        clearChanges in class ObjectChangeListener
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object