Class ArrayCollectionMappingHelper


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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean compareElements​(java.lang.Object element1, java.lang.Object element2, org.eclipse.persistence.internal.sessions.AbstractSession session)
      Convenience method.
      protected boolean compareElementsForChange​(java.lang.Object element1, java.lang.Object element2, org.eclipse.persistence.internal.sessions.AbstractSession session)
      Convenience method.
      org.eclipse.persistence.internal.sessions.ChangeRecord compareForChange​(java.lang.Object clone, java.lang.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​(java.lang.Object object1, java.lang.Object object2, org.eclipse.persistence.internal.sessions.AbstractSession session)
      INTERNAL: Compare the attributes belonging to this mapping for the objects.
      DatabaseMapping getDatabaseMapping()
      INTERNAL: Return the mapping, casted a bit more generally.
      ArrayCollectionMapping getMapping()
      INTERNAL: Return the mapping.
      void mergeChangesIntoObject​(java.lang.Object target, org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord, java.lang.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​(java.lang.Object target, boolean isTargetUnInitialized, java.lang.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​(java.lang.Object referenceKey, java.lang.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​(java.lang.Object referenceKey, java.lang.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 Detail

      • ArrayCollectionMappingHelper

        public ArrayCollectionMappingHelper​(ArrayCollectionMapping mapping)
        Constructor.
    • Method Detail

      • compareElements

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

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

        public org.eclipse.persistence.internal.sessions.ChangeRecord compareForChange​(java.lang.Object clone,
                                                                                       java.lang.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​(java.lang.Object object1,
                                      java.lang.Object object2,
                                      org.eclipse.persistence.internal.sessions.AbstractSession session)
        INTERNAL: Compare the attributes belonging to this mapping for the objects.
      • mergeChangesIntoObject

        public void mergeChangesIntoObject​(java.lang.Object target,
                                           org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord,
                                           java.lang.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​(java.lang.Object target,
                                    boolean isTargetUnInitialized,
                                    java.lang.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​(java.lang.Object referenceKey,
                                                      java.lang.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​(java.lang.Object referenceKey,
                                                           java.lang.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.