Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle TopLink
11g Release 1 (11.1.1)

E28847-01


org.eclipse.persistence.mappings.structures
Class ArrayCollectionMappingHelper

java.lang.Object
  extended by org.eclipse.persistence.mappings.structures.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

Field Summary
private  ArrayCollectionMapping mapping
          The mapping that needs help comparing and merging.
private static java.lang.Object XXX
           

 

Constructor Summary
ArrayCollectionMappingHelper(ArrayCollectionMapping mapping)
          Constructor.

 

Method Summary
private  java.lang.Object buildAddedElementFromChangeSet(java.lang.Object changeSet, org.eclipse.persistence.internal.sessions.MergeManager mergeManager, org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
          Convenience method.
private  java.lang.Object buildChangeSet(java.lang.Object element, org.eclipse.persistence.internal.sessions.ObjectChangeSet owner, org.eclipse.persistence.internal.sessions.AbstractSession session)
          Convenience method.
private  java.lang.Object buildElementFromElement(java.lang.Object element, org.eclipse.persistence.internal.sessions.MergeManager mergeManager, org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
          Convenience method.
private  java.lang.Object buildRemovedElementFromChangeSet(java.lang.Object changeSet, org.eclipse.persistence.internal.sessions.MergeManager mergeManager, org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
          Convenience method.
private  boolean compareAttributeValues(java.lang.Object collection1, java.lang.Object collection2, org.eclipse.persistence.internal.sessions.AbstractSession session)
          Compare the attributes.
private  org.eclipse.persistence.internal.sessions.ChangeRecord compareAttributeValuesForChangeWithOrder(java.lang.Object cloneCollection, java.lang.Object backupCollection, org.eclipse.persistence.internal.sessions.ObjectChangeSet owner, org.eclipse.persistence.internal.sessions.AbstractSession session)
          Build and return the change record that results from comparing the two collection attributes.
private  org.eclipse.persistence.internal.sessions.ChangeRecord compareAttributeValuesForChangeWithoutOrder(java.lang.Object cloneCollection, java.lang.Object backupCollection, org.eclipse.persistence.internal.sessions.ObjectChangeSet owner, org.eclipse.persistence.internal.sessions.AbstractSession session)
          Build and return the change record that results from comparing the two collection attributes.
private  boolean compareAttributeValuesWithOrder(java.lang.Object collection1, java.lang.Object collection2, org.eclipse.persistence.internal.sessions.AbstractSession session)
          Compare the attributes.
private  boolean compareAttributeValuesWithoutOrder(java.lang.Object collection1, java.lang.Object collection2, org.eclipse.persistence.internal.sessions.AbstractSession session)
          Compare the attributes.
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.
private  java.lang.String getAttributeName()
          Convenience method.
private  org.eclipse.persistence.internal.queries.ContainerPolicy getContainerPolicy()
          Convenience method.
 DatabaseMapping getDatabaseMapping()
          INTERNAL: Return the mapping, casted a bit more generally.
 ArrayCollectionMapping getMapping()
          INTERNAL: Return the mapping.
private  java.lang.Object getRealCollectionAttributeValueFromObject(java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractSession session)
          Convenience method.
private  boolean mapKeyHasChanged(java.lang.Object element, org.eclipse.persistence.internal.sessions.AbstractSession session)
          Convenience method.
 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.
private  void mergeChangesIntoObjectWithOrder(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)
          Merge changes from the source to the target object.
private  void mergeChangesIntoObjectWithoutOrder(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)
          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.
private  void setRealAttributeValueInObject(java.lang.Object object, java.lang.Object attributeValue)
          Convenience method.
 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.
private  void simpleAddToCollectionChangeRecordWithOrder(java.lang.Object referenceKey, java.lang.Object changeSetToAdd, org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet, org.eclipse.persistence.internal.sessions.AbstractSession session)
          Add stuff to an ordered collection.
private  void simpleAddToCollectionChangeRecordWithoutOrder(java.lang.Object referenceKey, java.lang.Object changeSetToAdd, org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet, org.eclipse.persistence.internal.sessions.AbstractSession session)
          Add stuff to an unordered collection.
 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.
private  void simpleRemoveFromCollectionChangeRecordWithOrder(java.lang.Object referenceKey, java.lang.Object changeSetToRemove, org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet, org.eclipse.persistence.internal.sessions.AbstractSession session)
          Remove stuff from an ordered collection.
private  void simpleRemoveFromCollectionChangeRecordWithoutOrder(java.lang.Object referenceKey, java.lang.Object changeSetToRemove, org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet, org.eclipse.persistence.internal.sessions.AbstractSession session)
          Remove stuff from an unordered collection.

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Field Detail

mapping

private ArrayCollectionMapping mapping
The mapping that needs help comparing and merging.

XXX

private static java.lang.Object XXX

Constructor Detail

ArrayCollectionMappingHelper

public ArrayCollectionMappingHelper(ArrayCollectionMapping mapping)
Constructor.

Method Detail

mapKeyHasChanged

private boolean mapKeyHasChanged(java.lang.Object element,
                                 org.eclipse.persistence.internal.sessions.AbstractSession session)
Convenience method.

getRealCollectionAttributeValueFromObject

private java.lang.Object getRealCollectionAttributeValueFromObject(java.lang.Object object,
                                                                   org.eclipse.persistence.internal.sessions.AbstractSession session)
Convenience method.

buildAddedElementFromChangeSet

private java.lang.Object buildAddedElementFromChangeSet(java.lang.Object changeSet,
                                                        org.eclipse.persistence.internal.sessions.MergeManager mergeManager,
                                                        org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
Convenience method.

buildChangeSet

private java.lang.Object buildChangeSet(java.lang.Object element,
                                        org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
                                        org.eclipse.persistence.internal.sessions.AbstractSession session)
Convenience method.

buildElementFromElement

private java.lang.Object buildElementFromElement(java.lang.Object element,
                                                 org.eclipse.persistence.internal.sessions.MergeManager mergeManager,
                                                 org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
Convenience method.

buildRemovedElementFromChangeSet

private java.lang.Object buildRemovedElementFromChangeSet(java.lang.Object changeSet,
                                                          org.eclipse.persistence.internal.sessions.MergeManager mergeManager,
                                                          org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
Convenience method.

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.

getMapping

public ArrayCollectionMapping getMapping()
INTERNAL: Return 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.

compareAttributeValuesForChangeWithOrder

private org.eclipse.persistence.internal.sessions.ChangeRecord compareAttributeValuesForChangeWithOrder(java.lang.Object cloneCollection,
                                                                                                        java.lang.Object backupCollection,
                                                                                                        org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
                                                                                                        org.eclipse.persistence.internal.sessions.AbstractSession session)
Build and return the change record that results from comparing the two collection attributes. The order of the elements is significant.

compareAttributeValuesForChangeWithoutOrder

private org.eclipse.persistence.internal.sessions.ChangeRecord compareAttributeValuesForChangeWithoutOrder(java.lang.Object cloneCollection,
                                                                                                           java.lang.Object backupCollection,
                                                                                                           org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
                                                                                                           org.eclipse.persistence.internal.sessions.AbstractSession session)
Build and return the change record that results from comparing the two collection attributes. Ignore the order of the elements.

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.

compareAttributeValues

private boolean compareAttributeValues(java.lang.Object collection1,
                                       java.lang.Object collection2,
                                       org.eclipse.persistence.internal.sessions.AbstractSession session)
Compare the attributes. Return true if they are alike. Assume the passed-in attributes are non-null.

compareAttributeValuesWithOrder

private boolean compareAttributeValuesWithOrder(java.lang.Object collection1,
                                                java.lang.Object collection2,
                                                org.eclipse.persistence.internal.sessions.AbstractSession session)
Compare the attributes. Return true if they are alike. The order of the elements is significant.

compareAttributeValuesWithoutOrder

private boolean compareAttributeValuesWithoutOrder(java.lang.Object collection1,
                                                   java.lang.Object collection2,
                                                   org.eclipse.persistence.internal.sessions.AbstractSession session)
Compare the attributes. Return true if they are alike. Ignore the order of the elements.

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.

mergeChangesIntoObjectWithOrder

private void mergeChangesIntoObjectWithOrder(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)
Merge changes from the source to the target object. Simply replace the entire target collection.

mergeChangesIntoObjectWithoutOrder

private void mergeChangesIntoObjectWithoutOrder(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)
Merge changes from the source to the target object. Make the necessary removals and adds and map key modifications.

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.

simpleAddToCollectionChangeRecordWithOrder

private void simpleAddToCollectionChangeRecordWithOrder(java.lang.Object referenceKey,
                                                        java.lang.Object changeSetToAdd,
                                                        org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet,
                                                        org.eclipse.persistence.internal.sessions.AbstractSession session)
Add stuff to an ordered collection.

simpleAddToCollectionChangeRecordWithoutOrder

private void simpleAddToCollectionChangeRecordWithoutOrder(java.lang.Object referenceKey,
                                                           java.lang.Object changeSetToAdd,
                                                           org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet,
                                                           org.eclipse.persistence.internal.sessions.AbstractSession session)
Add stuff to an unordered collection.

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.

simpleRemoveFromCollectionChangeRecordWithOrder

private void simpleRemoveFromCollectionChangeRecordWithOrder(java.lang.Object referenceKey,
                                                             java.lang.Object changeSetToRemove,
                                                             org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet,
                                                             org.eclipse.persistence.internal.sessions.AbstractSession session)
Remove stuff from an ordered collection.

simpleRemoveFromCollectionChangeRecordWithoutOrder

private void simpleRemoveFromCollectionChangeRecordWithoutOrder(java.lang.Object referenceKey,
                                                                java.lang.Object changeSetToRemove,
                                                                org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet,
                                                                org.eclipse.persistence.internal.sessions.AbstractSession session)
Remove stuff from an unordered collection.

setRealAttributeValueInObject

private void setRealAttributeValueInObject(java.lang.Object object,
                                           java.lang.Object attributeValue)
Convenience method.

getAttributeName

private java.lang.String getAttributeName()
Convenience method.

getContainerPolicy

private org.eclipse.persistence.internal.queries.ContainerPolicy getContainerPolicy()
Convenience method.

getDatabaseMapping

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

Skip navigation links

Copyright © 1998, 2012, Oracle. All Rights Reserved.