Class CollectionChangeEvent

java.lang.Object
java.util.EventObject
java.beans.PropertyChangeEvent
org.eclipse.persistence.descriptors.changetracking.CollectionChangeEvent
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
MapChangeEvent

public class CollectionChangeEvent extends PropertyChangeEvent

Purpose: Define a change event for collection types.

Description: For any object that wishes to use either object change tracking or attribute change tracking, its collection attributes need to fire CollectionChangeEvent in the add or remove methods.

Responsibilities: Create a CollectionChangeEvent for an object

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    protected int
    INTERNAL: Change type is either add or remove
    protected Integer
    INTERNAL: index is the location of the change in the collection
    protected boolean
    INTERNAL: This flag will indicate if the object has already been removed or added to the collection before raising an event.
    protected boolean
    INTERNAL: Set operation in IndirectList results in raising two events: removal of the old value and addition of the new one at the same index: oldValue = list.set(i, newValue); raiseRemoveEvent(i, oldValue, true); raiseAddEvent(i, newValue, true); This flag indicates whether the event was raised by set operation on the list.
    static final int
     

    Fields inherited from class java.util.EventObject

    source
  • Constructor Summary

    Constructors
    Constructor
    Description
    CollectionChangeEvent(Object collectionOwner, String propertyName, Object collectionChanged, Object elementChanged, int changeType, boolean isChangeApplied)
    PUBLIC: Create a CollectionChangeEvent for an object based on the property name, old value, new value, change type (add or remove) and change applied.
    CollectionChangeEvent(Object collectionOwner, String propertyName, Object collectionChanged, Object elementChanged, int changeType, Integer index, boolean isSet, boolean isChangeApplied)
    PUBLIC: Create a CollectionChangeEvent for an object based on the property name, old value, new value, change type (add or remove) and the index where the object is/was in the collection (list), flag indicating whether the change (addition or removal) is part of a single set operation on a list, flag indicating whether the object has already been added or removed from the collection.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    INTERNAL: Return the change type
    INTERNAL: Return the index of the change in the collection
    boolean
    INTERNAL: Return the value indicating if the object has been already added or removed from the collection.
    boolean
    INTERNAL: Return whether the event was raised by set operation on the list.
    void
    INTERNAL: Set the index of the change in the collection

    Methods inherited from class java.util.EventObject

    getSource

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • ADD

      public static final int ADD
      See Also:
    • REMOVE

      public static final int REMOVE
      See Also:
    • changeType

      protected int changeType
      INTERNAL: Change type is either add or remove
    • index

      protected Integer index
      INTERNAL: index is the location of the change in the collection
    • isSet

      protected boolean isSet
      INTERNAL: Set operation in IndirectList results in raising two events: removal of the old value and addition of the new one at the same index: oldValue = list.set(i, newValue); raiseRemoveEvent(i, oldValue, true); raiseAddEvent(i, newValue, true); This flag indicates whether the event was raised by set operation on the list.
    • isChangeApplied

      protected boolean isChangeApplied
      INTERNAL: This flag will indicate if the object has already been removed or added to the collection before raising an event. The object is not removed or added before raising an event during merge.
  • Constructor Details

    • CollectionChangeEvent

      public CollectionChangeEvent(Object collectionOwner, String propertyName, Object collectionChanged, Object elementChanged, int changeType, boolean isChangeApplied)
      PUBLIC: Create a CollectionChangeEvent for an object based on the property name, old value, new value, change type (add or remove) and change applied.
    • CollectionChangeEvent

      public CollectionChangeEvent(Object collectionOwner, String propertyName, Object collectionChanged, Object elementChanged, int changeType, Integer index, boolean isSet, boolean isChangeApplied)
      PUBLIC: Create a CollectionChangeEvent for an object based on the property name, old value, new value, change type (add or remove) and the index where the object is/was in the collection (list), flag indicating whether the change (addition or removal) is part of a single set operation on a list, flag indicating whether the object has already been added or removed from the collection.
  • Method Details

    • getChangeType

      public int getChangeType()
      INTERNAL: Return the change type
    • isSet

      public boolean isSet()
      INTERNAL: Return whether the event was raised by set operation on the list.
    • getIndex

      public Integer getIndex()
      INTERNAL: Return the index of the change in the collection
    • setIndex

      public void setIndex(Integer index)
      INTERNAL: Set the index of the change in the collection
    • isChangeApplied

      public boolean isChangeApplied()
      INTERNAL: Return the value indicating if the object has been already added or removed from the collection.