Class ArrayCollectionMappingHelper

java.lang.Object
org.eclipse.persistence.mappings.structures.ArrayCollectionMappingHelper

public class ArrayCollectionMappingHelper extends Object
Helper class to consolidate all the heinous comparing and merging code for the Array collection mappings.
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    compareElements(Object element1, Object element2, org.eclipse.persistence.internal.sessions.AbstractSession session)
    Convenience method.
    protected boolean
    compareElementsForChange(Object element1, Object element2, org.eclipse.persistence.internal.sessions.AbstractSession session)
    Convenience method.
    org.eclipse.persistence.internal.sessions.ChangeRecord
    compareForChange(Object clone, Object backup, org.eclipse.persistence.internal.sessions.ObjectChangeSet owner, org.eclipse.persistence.internal.sessions.AbstractSession session)
    INTERNAL: Build and return the change record that results from comparing the two collection attributes.
    boolean
    compareObjects(Object object1, Object object2, org.eclipse.persistence.internal.sessions.AbstractSession session)
    INTERNAL: Compare the attributes belonging to this mapping for the objects.
    INTERNAL: Return the mapping, casted a bit more generally.
    INTERNAL: Return the mapping.
    void
    mergeChangesIntoObject(Object target, org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord, Object source, org.eclipse.persistence.internal.sessions.MergeManager mergeManager, org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
    INTERNAL: Merge changes from the source to the target object.
    void
    mergeIntoObject(Object target, boolean isTargetUnInitialized, Object source, org.eclipse.persistence.internal.sessions.MergeManager mergeManager, org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
    INTERNAL: Merge changes from the source to the target object.
    void
    simpleAddToCollectionChangeRecord(Object referenceKey, Object changeSetToAdd, org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet, org.eclipse.persistence.internal.sessions.AbstractSession session)
    ADVANCED: This method is used to add an object to a collection once the changeSet is applied.
    void
    simpleRemoveFromCollectionChangeRecord(Object referenceKey, Object changeSetToRemove, org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet, org.eclipse.persistence.internal.sessions.AbstractSession session)
    ADVANCED: This method is used to remove an object from a collection once the changeSet is applied.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ArrayCollectionMappingHelper

      public ArrayCollectionMappingHelper(ArrayCollectionMapping mapping)
      Constructor.
  • Method Details

    • compareElements

      protected boolean compareElements(Object element1, Object element2, org.eclipse.persistence.internal.sessions.AbstractSession session)
      Convenience method. Check for null values before delegating to the mapping.
    • compareElementsForChange

      protected boolean compareElementsForChange(Object element1, Object element2, org.eclipse.persistence.internal.sessions.AbstractSession session)
      Convenience method. Check for null values before delegating to the mapping.
    • getMapping

      public ArrayCollectionMapping getMapping()
      INTERNAL: Return the mapping.
    • compareForChange

      public org.eclipse.persistence.internal.sessions.ChangeRecord compareForChange(Object clone, Object backup, org.eclipse.persistence.internal.sessions.ObjectChangeSet owner, org.eclipse.persistence.internal.sessions.AbstractSession session)
      INTERNAL: Build and return the change record that results from comparing the two collection attributes.
    • compareObjects

      public boolean compareObjects(Object object1, Object object2, org.eclipse.persistence.internal.sessions.AbstractSession session)
      INTERNAL: Compare the attributes belonging to this mapping for the objects.
    • mergeChangesIntoObject

      public void mergeChangesIntoObject(Object target, org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord, Object source, org.eclipse.persistence.internal.sessions.MergeManager mergeManager, org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
      INTERNAL: Merge changes from the source to the target object.
    • mergeIntoObject

      public void mergeIntoObject(Object target, boolean isTargetUnInitialized, Object source, org.eclipse.persistence.internal.sessions.MergeManager mergeManager, org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
      INTERNAL: Merge changes from the source to the target object. Simply replace the entire target collection.
    • simpleAddToCollectionChangeRecord

      public void simpleAddToCollectionChangeRecord(Object referenceKey, Object changeSetToAdd, org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet, org.eclipse.persistence.internal.sessions.AbstractSession session)
      ADVANCED: This method is used to add an object to a collection once the changeSet is applied. The referenceKey parameter should only be used for direct Maps.
    • simpleRemoveFromCollectionChangeRecord

      public void simpleRemoveFromCollectionChangeRecord(Object referenceKey, Object changeSetToRemove, org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet, org.eclipse.persistence.internal.sessions.AbstractSession session)
      ADVANCED: This method is used to remove an object from a collection once the changeSet is applied. The referenceKey parameter should only be used for direct Maps.
    • getDatabaseMapping

      public DatabaseMapping getDatabaseMapping()
      INTERNAL: Return the mapping, casted a bit more generally.