Top Description Fields Constructors Methods
org.eclipse.persistence.mappings

public abstract Class CollectionMapping

extends ForeignReferenceMapping
implements ContainerMapping
Class Inheritance
All Implemented Interfaces
org.eclipse.persistence.mappings.ContainerMapping
Known Direct Subclasses
org.eclipse.persistence.mappings.DirectCollectionMapping, org.eclipse.persistence.mappings.OneToManyMapping, org.eclipse.persistence.mappings.structures.NestedTableMapping, org.eclipse.persistence.eis.mappings.EISOneToManyMapping, org.eclipse.persistence.mappings.ManyToManyMapping, org.eclipse.persistence.mappings.AggregateCollectionMapping
Imports
java.beans.PropertyChangeListener, java.util.*, org.eclipse.persistence.annotations.OrderCorrectionType, org.eclipse.persistence.config.SystemProperties, org.eclipse.persistence.descriptors.ClassDescriptor, org.eclipse.persistence.descriptors.changetracking.*, org.eclipse.persistence.internal.descriptors.changetracking.*, org.eclipse.persistence.exceptions.*, org.eclipse.persistence.expressions.*, org.eclipse.persistence.indirection.*, org.eclipse.persistence.internal.descriptors.*, org.eclipse.persistence.internal.expressions.*, org.eclipse.persistence.internal.helper.*, org.eclipse.persistence.internal.identitymaps.CacheKey, org.eclipse.persistence.internal.indirection.*, org.eclipse.persistence.internal.queries.*, org.eclipse.persistence.internal.security.PrivilegedAccessHelper, org.eclipse.persistence.internal.sessions.remote.*, org.eclipse.persistence.internal.sessions.*, org.eclipse.persistence.queries.*, org.eclipse.persistence.sessions.remote.*, org.eclipse.persistence.sessions.CopyGroup, .DatabaseRecord, .Project

Purpose: Abstract class for relationship mappings which store collection of objects

Author
Sati
Since
TOPLink/Java 1.0

Field Summary

Modifier and TypeField and Description
protected transient DataModifyQuery
changeOrderTargetQuery

Query used when order of list members is changed.

protected ContainerPolicy
protected transient ModifyQuery
deleteAllQuery

Used for delete all in m-m, dc and delete all optimization in 1-m.

protected transient boolean
protected boolean
protected boolean
isListOrderFieldSupported

Indicates whether the mapping supports listOrderField, if it doesn't attempt to set listOrderField throws exception.

protected static boolean
isSynchronizeOnMerge

Flag to indicate if collection needs to be synchronized instead of cloning during merge.

protected DatabaseField
listOrderField

Field holds the order of elements in the list in the db, requires collection of type List, may be not null only in case isListOrderFieldSupported==true

protected Boolean
mustDeleteReferenceObjectsOneByOne

Store if the mapping can batch delete reference objects.

protected OrderCorrectionType
orderCorrectionType

Specifies what should be done if the list of values read from listOrserField is invalid (there should be no nulls, no duplicates, no "holes").

Inherited from org.eclipse.persistence.mappings.ForeignReferenceMapping:
batchFetchTypecascadeDetachcascadeMergecascadePersistcascadeRefreshcascadeRemoveextendPessimisticLockScopeforceInitializationOfSelectionCriteriahasCustomSelectionQueryindirectionPolicyINNER_JOINisCascadeOnDeleteSetOnDatabaseisPrivateOwnedjoinFetchmappedByNONEOUTER_JOINpartitioningPolicypartitioningPolicyNameQUERY_BATCH_PARAMETERreferenceClassreferenceClassNamereferenceDescriptorrelationshipPartnerrelationshipPartnerAttributeNamerequiresTransientWeavedFieldsselectionQuerytempInitSession

Constructor Summary

AccessConstructor and Description
protected
CollectionMapping()

PUBLIC: Default constructor.

Method Summary

Modifier and TypeMethod and Description
public void
addAggregateOrderBy(String aggregateName, String queryKeyName, boolean isDescending)

PUBLIC: Provide order support for queryKeyName in ascending or descending order.

public void
addAscendingOrdering(String queryKeyName)

PUBLIC: Provide order support for queryKeyName in ascending order

public void
addDescendingOrdering(String queryKeyName)

PUBLIC: Provide order support for queryKeyName in descending order.

public void
addOrderBy(String queryKeyName, boolean isDescending)

PUBLIC: Provide order support for queryKeyName in descending or ascending order.

public Object
buildBackupCloneForPartObject(Object
TODO
attributeValue
,
Object
TODO
clone
,
Object
TODO
backup
,
UnitOfWorkImpl
TODO
unitOfWork
)

Implements abstract org.eclipse.persistence.mappings.ForeignReferenceMapping.buildBackupCloneForPartObject.

INTERNAL: Used during building the backup shallow copy to copy the vector without re-registering the target objects.
public ChangeRecord
buildChangeRecord(Object clone, ObjectChangeSet owner, AbstractSession session)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.buildChangeRecord.

INTERNAL: Directly build a change record without comparison
public Object
buildCloneForPartObject(Object
TODO
attributeValue
,
Object
TODO
original
,
CacheKey
TODO
cacheKey
,
Object
TODO
clone
,
AbstractSession
TODO
cloningSession
,
Integer
TODO
refreshCascade
,
boolean
TODO
isExisting
,
boolean
TODO
isFromSharedCache
)

Implements abstract org.eclipse.persistence.mappings.ForeignReferenceMapping.buildCloneForPartObject.

INTERNAL: Require for cloning, the part must be cloned.
public Object
buildContainerClone(Object
TODO
attributeValue
,
AbstractSession
TODO
cloningSession
)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.buildContainerClone.

INTERNAL: Performs a first level clone of the attribute.
public void
buildCopy(Object
TODO
copy
,
Object
TODO
original
,
CopyGroup
TODO
group
)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.buildCopy.

INTERNAL: Copy of the attribute of the object.
public Object
buildElementClone(Object element, Object parent, CacheKey parentCacheKey, Integer refreshCascade, AbstractSession cloningSession, boolean isExisting, boolean isFromSharedCache)

INTERNAL: Clone the element, if necessary.

public Object
buildElementUnitOfWorkClone(Object element, Object parent, Integer refreshCascade, UnitOfWorkImpl unitOfWork, boolean isExisting, boolean isFromSharedCache)

INTERNAL: Clone the element, if necessary.

public Expression
buildExpression(Object
TODO
queryObject
,
QueryByExamplePolicy
TODO
policy
,
Expression
TODO
expressionBuilder
,
Map<K, V>
TODO
processedObjects
,
AbstractSession
TODO
session
)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.buildExpression.

INTERNAL: In case Query By Example is used, this method generates an expression from a attribute value pair.
protected void
buildListOrderField()

INTERNAL: Verifies listOrderField's table, if none found sets the default one.

public Object[]
buildReferencesPKList(Object entity, Object attribute, AbstractSession session)

Implements abstract org.eclipse.persistence.mappings.ForeignReferenceMapping.buildReferencesPKList.

INTERNAL: This method will access the target relationship and create a list of information to rebuild the relationship.
public void
calculateDeferredChanges(ChangeRecord
TODO
changeRecord
,
AbstractSession
TODO
session
)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.calculateDeferredChanges.

INTERNAL: Used by AttributeLevelChangeTracking to update a changeRecord with calculated changes as apposed to detected changes.
public void
cascadeDiscoverAndPersistUnregisteredNewObjects(Object
TODO
object
,
Map<K, V>
TODO
newObjects
,
Map<K, V>
TODO
unregisteredExistingObjects
,
Map<K, V>
TODO
visitedObjects
,
UnitOfWorkImpl
TODO
uow
,
Set<E>
TODO
cascadeErrors
)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.cascadeDiscoverAndPersistUnregisteredNewObjects.

INTERNAL: Cascade discover and persist new objects during commit.
public void
cascadePerformRemoveIfRequired(Object
TODO
object
,
UnitOfWorkImpl
TODO
uow
,
Map<K, V>
TODO
visitedObjects
)

Implements abstract org.eclipse.persistence.mappings.DatabaseMapping.cascadePerformRemoveIfRequired.

INTERNAL: Cascade perform delete through mappings that require the cascade
public void
cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired(Object
TODO
object
,
UnitOfWorkImpl
TODO
uow
,
Map<K, V>
TODO
visitedObjects
)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired.

INTERNAL: Cascade perform removal of orphaned private owned objects from the UnitOfWorkChangeSet
public void
cascadeRegisterNewIfRequired(Object
TODO
object
,
UnitOfWorkImpl
TODO
uow
,
Map<K, V>
TODO
visitedObjects
)

Implements abstract org.eclipse.persistence.mappings.DatabaseMapping.cascadeRegisterNewIfRequired.

INTERNAL: Cascade registerNew for Create through mappings that require the cascade
public Object
clone()

Overrides org.eclipse.persistence.mappings.ForeignReferenceMapping.clone.

INTERNAL: The mapping clones itself to create deep copy.
public void
collectQueryParameters(Set<DatabaseField>
TODO
record
)

Implements abstract org.eclipse.persistence.mappings.ForeignReferenceMapping.collectQueryParameters.

INTERNAL: This method is used to store the FK fields that can be cached that correspond to noncacheable mappings the FK field values will be used to re-issue the query when cloning the shared cache entity
public void
compareCollectionsForChange(Object oldCollection, Object newCollection, ChangeRecord changeRecord, AbstractSession session)

INTERNAL: This method is used to calculate the differences between two collections.

public ChangeRecord
compareForChange(Object
TODO
clone
,
Object
TODO
backUp
,
ObjectChangeSet
TODO
owner
,
AbstractSession
TODO
session
)

Implements abstract org.eclipse.persistence.mappings.DatabaseMapping.compareForChange.

INTERNAL: This method is used to create a change record from comparing two collections.
protected boolean
compareLists(List<E> firstList, List<E> secondList, AbstractSession session, boolean withPrivateOwned)

Compare two lists.

protected void
compareListsAndWrite(List<E> previousList, List<E> currentList, WriteObjectQuery query)

INTERNAL: Old and new lists are compared and only the changes are written to the database.

public boolean
compareObjects(Object
TODO
firstObject
,
Object
TODO
secondObject
,
AbstractSession
TODO
session
)

Overrides org.eclipse.persistence.mappings.ForeignReferenceMapping.compareObjects.

INTERNAL: Compare the attributes belonging to this mapping for the objects.
protected void
compareObjectsAndWrite(WriteObjectQuery query)

INTERNAL: The memory objects are compared and only the changes are written to the database.

protected boolean
compareObjectsWithoutPrivateOwned(Object firstCollection, Object secondCollection, AbstractSession session)

Implements abstract org.eclipse.persistence.mappings.ForeignReferenceMapping.compareObjectsWithoutPrivateOwned.

Compare two objects if their parts are not private owned
protected boolean
compareObjectsWithPrivateOwned(Object firstCollection, Object secondCollection, AbstractSession session)

Implements abstract org.eclipse.persistence.mappings.ForeignReferenceMapping.compareObjectsWithPrivateOwned.

Compare two objects if their parts are private owned
public void
convertClassNamesToClasses(ClassLoader
TODO
classLoader
)

Overrides org.eclipse.persistence.mappings.ForeignReferenceMapping.convertClassNamesToClasses.

INTERNAL: Convert all the class-name-based settings in this mapping to actual class-based settings This method is implemented by subclasses as necessary.
protected Object
copyElement(Object original, CopyGroup group)

INTERNAL: Copies member's value

protected void
executeBatchQuery(DatabaseQuery query, CacheKey parentCacheKey, Map<K, V> referenceObjectsByKey, AbstractSession session, AbstractRecord translationRow)

Overrides org.eclipse.persistence.mappings.ForeignReferenceMapping.executeBatchQuery.

INTERNAL: Prepare and execute the batch query and store the results for each source object in a map keyed by the mappings source keys of the source objects.
protected Object
extractKeyFromTargetRow(AbstractRecord row, AbstractSession session)

INTERNAL: Extract the source primary key value from the target row.

public Object
extractResultFromBatchQuery(ReadQuery batchQuery, CacheKey parentCacheKey, AbstractRecord sourceRow, AbstractSession session, ObjectLevelReadQuery originalQuery)

Overrides org.eclipse.persistence.mappings.ForeignReferenceMapping.extractResultFromBatchQuery.

INTERNAL: Extract the value from the batch optimized query, this should be supported by most query types.
public void
fixRealObjectReferences(Object
TODO
object
,
Map<Object, ObjectDescriptor>
TODO
objectDescriptors
,
Map<Object, Object>
TODO
processedObjects
,
ObjectLevelReadQuery
TODO
query
,
DistributedSession
TODO
session
)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.fixRealObjectReferences.

INTERNAL: We are not using a remote valueholder so we need to replace the reference object(s) with the corresponding object(s) from the remote session.
protected Expression
getAdditionalFieldsBaseExpression(ReadQuery query)

INTERNAL: Return the base expression to use for adding fields to the query.

public ContainerPolicy
protected ModifyQuery
public Expression
getJoinCriteria(ObjectExpression context, Expression base)

Overrides org.eclipse.persistence.mappings.ForeignReferenceMapping.getJoinCriteria.

INTERNAL: Returns the join criteria stored in the mapping selection query.
public DatabaseField
getListOrderField()

PUBLIC: Field holds the order of elements in the list in the db, requires collection of type List; may be not null only in case isListOrderFieldSupported==true.

public Object
getObjectCorrespondingTo(Object
TODO
object
,
DistributedSession
TODO
session
,
Map<Object, ObjectDescriptor>
TODO
objectDescriptors
,
Map<Object, Object>
TODO
processedObjects
,
ObjectLevelReadQuery
TODO
query
)

Overrides org.eclipse.persistence.mappings.ForeignReferenceMapping.getObjectCorrespondingTo.

INTERNAL: return the object on the client corresponding to the specified object.
public List<Expression>
getOrderByQueryKeyExpressions()

INTERNAL: Return the ordering query keys.

public OrderCorrectionType
getOrderCorrectionType()

PUBLIC: Specifies what should be done if the list of values read from listOrserField is invalid (there should be no nulls, no duplicates, no "holes").

public Object
protected ContainerPolicy
getSelectionQueryContainerPolicy()

INTERNAL: Get the container policy from the selection query for this mapping.

public List<DatabaseField>
getTargetPrimaryKeyFields()

INTERNAL: Returns list of primary key fields from the reference descriptor.

protected boolean
public boolean
hasOrderBy()

INTERNAL: Return true if ascending or descending ordering has been set on this mapping via the @OrderBy annotation.

public void
initialize(AbstractSession session)

Overrides org.eclipse.persistence.mappings.ForeignReferenceMapping.initialize.

INTERNAL: Initialize the state of mapping.
protected void
initializeChangeOrderTargetQuery(AbstractSession session)

INTERNAL: Initialize changeOrderTargetQuery.

protected void
initializeListOrderField(AbstractSession session)

INTERNAL: Initializes listOrderField.

protected void
initializeListOrderFieldTable(AbstractSession session)

INTERNAL: Initializes listOrderField's table, does nothing by default.

public boolean
isAttributeValueInstantiatedOrChanged(Object object)

INTERNAL: The referenced object is checked if it is instantiated or not, also check if it has been changed (as indirect collections avoid instantiation on add/remove.

public boolean
isChangeTrackingSupported(Project project)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.isChangeTrackingSupported.

INTERNAL: Return if this mapping supports change tracking.
public boolean
isCollectionMapping()

Overrides org.eclipse.persistence.mappings.DatabaseMapping.isCollectionMapping.

INTERNAL: Return whether this mapping is a Collection type.
public boolean
isListOrderFieldSupported()

PUBLIC: indicates whether the mapping supports listOrderField, if it doesn't attempt to set listOrderField throws exception.

public boolean
isMapKeyObjectRelationship()

INTERNAL: Return if this mapping has a mapped key that uses a OneToOne (object).

public void
iterateOnElement(DescriptorIterator iterator, Object element)

INTERNAL: Iterate on the specified element.

public void
iterateOnRealAttributeValue(DescriptorIterator iterator, Object realAttributeValue)

Implements abstract org.eclipse.persistence.mappings.ForeignReferenceMapping.iterateOnRealAttributeValue.

INTERNAL: Iterate on the attribute value.
public void
load(final Object object, AttributeItem item, final AbstractSession session, final boolean fromFetchGroup)

Overrides org.eclipse.persistence.mappings.ForeignReferenceMapping.load.

Force instantiation of the load group.
public void
loadAll(Object object, AbstractSession session, IdentityHashSet loaded)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.loadAll.

Force instantiation of all indirections.
public void
mergeChangesIntoObject(Object target, ChangeRecord chgRecord, Object source, MergeManager mergeManager, AbstractSession targetSession)

Implements abstract org.eclipse.persistence.mappings.DatabaseMapping.mergeChangesIntoObject.

INTERNAL: Merge changes from the source to the target object.
public void
mergeIntoObject(Object target, boolean isTargetUnInitialized, Object source, MergeManager mergeManager, AbstractSession targetSession)

Implements abstract org.eclipse.persistence.mappings.DatabaseMapping.mergeIntoObject.

INTERNAL: Merge changes from the source to the target object.
public boolean
mustDeleteReferenceObjectsOneByOne()

ADVANCED: Return whether the reference objects must be deleted one by one, as opposed to with a single DELETE statement.

protected void
objectAddedDuringUpdate(ObjectLevelModifyQuery query, Object objectAdded, ObjectChangeSet changeSet, Map<K, V> extraData)

INTERNAL: An object was added to the collection during an update, insert it if private.

protected void
objectOrderChangedDuringUpdate(WriteObjectQuery query, Object orderChangedObject, int orderIndex)

protected void
objectRemovedDuringUpdate(ObjectLevelModifyQuery query, Object objectDeleted, Map<K, V> extraData)

INTERNAL: An object was removed to the collection during an update, delete it if private.

protected void
objectUnchangedDuringUpdate(ObjectLevelModifyQuery query, Object object)

INTERNAL: An object is still in the collection, update it as it may have changed.

protected void
objectUnchangedDuringUpdate(ObjectLevelModifyQuery query, Object object, Map<K, V> backupclones, Object key)

INTERNAL: An object is still in the collection, update it as it may have changed.

public void
postCalculateChanges(ChangeRecord changeRecord, UnitOfWorkImpl uow)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.postCalculateChanges.

INTERNAL: Overridden by mappings that require additional processing of the change record after the record has been calculated.
public void
postDelete(DeleteObjectQuery query)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.postDelete.

INTERNAL: A subclass should implement this method if it wants different behavior.
public void
postInitialize(AbstractSession session)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.postInitialize.

INTERNAL: Ensure the container policy is post initialized
public void
postInsert(WriteObjectQuery query)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.postInsert.

INTERNAL: A subclass should implement this method if it wants different behavior.
protected void
public void
preInsert(WriteObjectQuery query)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.preInsert.

INTERNAL: Propagate preInsert event to container policy if necessary
protected void
prepareTranslationRow(AbstractRecord translationRow, Object object, ClassDescriptor descriptor, AbstractSession session)

INTERNAL: copies the non primary key information into the row currently used only in ManyToMany

public void
preUpdate(WriteObjectQuery query)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.preUpdate.

INTERNAL: Propagate preUpdate event to container policy if necessary
protected Object
readPrivateOwnedForObject(ObjectLevelModifyQuery modifyQuery)

INTERNAL: All the privately owned parts are read

public void
recordPrivateOwnedRemovals(Object object, UnitOfWorkImpl uow)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.recordPrivateOwnedRemovals.

INTERNAL: Overridden by mappings that require additional processing of the change record after the record has been calculated.
public Map<K, V>
replaceValueHoldersIn(Object object, RemoteSessionController controller)

Overrides org.eclipse.persistence.mappings.ForeignReferenceMapping.replaceValueHoldersIn.

INTERNAL: replace the value holders in the specified reference object(s)
public void
setChangeListener(Object clone, PropertyChangeListener listener, UnitOfWorkImpl uow)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.setChangeListener.

INTERNAL: Set the change listener in the collection.
public void
setContainerPolicy(ContainerPolicy containerPolicy)

Implements org.eclipse.persistence.mappings.ContainerMapping.setContainerPolicy.

ADVANCED: Configure the mapping to use a container policy.
public void
setCustomDeleteAllQuery(ModifyQuery query)

PUBLIC: The default delete all query for mapping can be overridden by specifying the new query.

public void
setDeleteAllCall(Call call)

PUBLIC: Set the receiver's delete all call.

protected void
public void
setDeleteAllSQLString(String sqlString)

PUBLIC: Set the receiver's delete all SQL string.

protected void
public void
setListOrderField(DatabaseField field)

PUBLIC: Field holds the order of elements in the list in the db, requires collection of type List.

public void
setListOrderFieldName(String fieldName)

PUBLIC: Field holds the order of elements in the list in the db, requires collection of type List.

public void
setMustDeleteReferenceObjectsOneByOne(Boolean deleteOneByOne)

ADVANCED:: Return whether the reference objects must be deleted one by one, as opposed to with a single DELETE statement.

public void
setOrderCorrectionType(OrderCorrectionType orderCorrectionType)

PUBLIC: Specifies what should be done if the list of values read from listOrserField is invalid (there should be no nulls, no duplicates, no "holes").

protected void
setSelectionQueryContainerPolicy(ContainerPolicy containerPolicy)

INTERNAL: Set the container policy on the selection query for this mapping.

public void
setSessionName(String name)

PUBLIC: Set the name of the session to execute the mapping's queries under.

public void
setUseLazyInstantiationForIndirectCollection(Boolean useLazyInstantiation)

ADVANCED: Calling this method will only affect behavior of mappings using transparent indirection This method should only be called after this mapping's indirection policy has been set IndirectList and IndirectSet can be configured not to instantiate the list from the database when you add and remove from them.

public Boolean
shouldUseLazyInstantiationForIndirectCollection()

ADVANCED: This method should only be called after this mapping's indirection policy has been set IndirectList and IndirectSet can be configured not to instantiate the list from the database when you add and remove from them.

public boolean
shouldUseListOrderFieldTableExpression()

INTERNAL: Indicates whether getListOrderFieldExpression method should create field expression based on table expression.

public void
simpleAddToCollectionChangeRecord(Object referenceKey, Object changeSetToAdd, ObjectChangeSet changeSet, AbstractSession session)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.simpleAddToCollectionChangeRecord.

ADVANCED: This method is used to have an object add to a collection once the changeSet is applied The referenceKey parameter should only be used for direct Maps.
public void
simpleRemoveFromCollectionChangeRecord(Object referenceKey, Object changeSetToRemove, ObjectChangeSet changeSet, AbstractSession session)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.simpleRemoveFromCollectionChangeRecord.

ADVANCED: This method is used to have an object removed from a collection once the changeSet is applied The referenceKey parameter should only be used for direct Maps.
public void
updateChangeRecord(Object clone, Object newValue, Object oldValue, ObjectChangeSet objectChangeSet, UnitOfWorkImpl uow)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.updateChangeRecord.

INTERNAL: Either create a new change record or update with the new value.
public void
updateChangeRecordForSelfMerge(ChangeRecord changeRecord, Object source, Object target, UnitOfWorkChangeSet parentUOWChangeSet, UnitOfWorkImpl unitOfWork)

Implements abstract org.eclipse.persistence.mappings.ForeignReferenceMapping.updateChangeRecordForSelfMerge.

INTERNAL: Update a ChangeRecord to replace the ChangeSet for the old entity with the changeSet for the new Entity.
public void
updateCollectionChangeRecord(CollectionChangeEvent event, ObjectChangeSet changeSet, UnitOfWorkImpl uow)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.updateCollectionChangeRecord.

INTERNAL: Add or removes a new value and its change set to the collection change record based on the event passed in. This is used by attribute change tracking.
public void
useCollectionClass(Class<?> concreteClass)

Implements org.eclipse.persistence.mappings.ContainerMapping.useCollectionClass.

PUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects.
public void
useCollectionClassName(String concreteClassName)

Implements org.eclipse.persistence.mappings.ContainerMapping.useCollectionClassName.

INTERNAL: Used to set the collection class by name.
public void
useListClassName(String concreteClassName)

Implements org.eclipse.persistence.mappings.ContainerMapping.useListClassName.

INTERNAL: Used to set the collection class by name.
public void
useMapClass(Class<?> concreteClass, String keyName)

Implements org.eclipse.persistence.mappings.ContainerMapping.useMapClass.

PUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects.
public void
useMapClass(Class<?> concreteClass)

PUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects.

public void
useMapClassName(String concreteClassName, String methodName)

Implements org.eclipse.persistence.mappings.ContainerMapping.useMapClassName.

INTERNAL: Not sure were this is used, MW?
public void
useSortedSetClass(Class<?> concreteClass, Comparator<T> comparator)

PUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects.

public void
useSortedSetClassName(String className)

INTERNAL: Configure the mapping to use an instance of the specified container class name to hold the target objects.

public void
useSortedSetClassName(String className, String comparatorClassName)

INTERNAL: Configure the mapping to use an instance of the specified container class name to hold the target objects.

public void
useTransparentCollection()

PUBLIC: If transparent indirection is used, a special collection will be placed in the source object's attribute.

public void
useTransparentList()

PUBLIC: If transparent indirection is used, a special collection will be placed in the source object's attribute.

public void
useTransparentMap(String methodName)

PUBLIC: If transparent indirection is used, a special map will be placed in the source object's attribute.

public void
useTransparentSet()

PUBLIC: If transparent indirection is used, a special collection will be placed in the source object's attribute.

public void
public Object
valueFromPKList(Object[] pks, AbstractRecord foreignKeys, AbstractSession session)

Implements abstract org.eclipse.persistence.mappings.ForeignReferenceMapping.valueFromPKList.

INTERNAL: This method is used to load a relationship from a list of PKs.
protected Object
valueFromRowInternalWithJoin(AbstractRecord row, JoinedAttributeManager joinManager, ObjectBuildingQuery sourceQuery, CacheKey parentCacheKey, AbstractSession executionSession, boolean isTargetProtected)

Overrides org.eclipse.persistence.mappings.ForeignReferenceMapping.valueFromRowInternalWithJoin.

INTERNAL: Return the value of the field from the row or a value holder on the query to obtain the object.
public boolean
verifyDelete(Object object, AbstractSession session)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.verifyDelete.

INTERNAL: Checks if object is deleted from the database or not.
public void
writeChanges(ObjectChangeSet changeSet, WriteObjectQuery query)

INTERNAL: Write the changes defined in the change set for the mapping.

Inherited from org.eclipse.persistence.mappings.ForeignReferenceMapping:
addForeignKeyFieldaddTargetForeignKeyFieldbatchedValueFromRowbuildBackupClonebuildBatchCriteriabuildClonebuildCloneFromRowcheckCacheForBatchKeycreateCloneValueHolderdontDoMergedontUseBatchReadingdontUseIndirectionextendPessimisticLockScopeInSourceQueryextendPessimisticLockScopeInTargetQueryextractBatchKeyFromRowfixObjectReferencesgetAttributeValueFromObjectgetAttributeValueWithClonedValueHoldersgetBatchFetchTypegetExtendPessimisticLockScopeDedicatedQuerygetFieldsForTranslationInAggregategetIndirectionPolicygetJoinFetchgetMappedBygetOrderByNormalizedExpressionsgetPartitioningPolicygetPartitioningPolicyNamegetRealAttributeValueFromAttributegetReferenceClassgetReferenceClassNamegetReferenceDescriptorgetRelationshipPartnergetRelationshipPartnerAttributeNamegetSelectionCriteriagetSelectionQuerygetTempSessiongetValueFromRemoteValueHolderhasCustomSelectionQueryhasDependencyhasNestedIdentityReferenceinitializeReferenceDescriptorinitializeSelectionQueryinstantiateAttributeisAttributeValueFromObjectInstantiatedisAttributeValueFullyBuiltisAttributeValueInstantiatedisCascadeDetachisCascadeMergeisCascadeOnDeleteSetOnDatabaseisCascadePersistisCascadeRefreshisCascadeRemoveisExtendingPessimisticLockScopeisForeignReferenceMappingisInnerJoinFetchedisJoinFetchedisJoiningSupportedisLazyisLockableMappingisOuterJoinFetchedisPrivateOwnediteratemergeRemoteValueHolderpreInitializeprepareHistoricalQueryprepareNestedBatchQueryprepareNestedJoinQueryCloneprepareNestedJoinsprivateOwnedRelationshipreadFromRowIntoObjectremoteInitializationrequiresTransientWeavedFieldssetBatchFetchTypesetCascadeAllsetCascadeDetachsetCascadeMergesetCascadePersistsetCascadeRefreshsetCascadeRemovesetCustomSelectionQuerysetForceInitializationOfSelectionCriteriasetHasCustomSelectionQuerysetIndirectionPolicysetIsCacheablesetIsCascadeOnDeleteSetOnDatabasesetIsPrivateOwnedsetJoinFetchsetMappedBysetPartitioningPolicysetPartitioningPolicyNamesetRealAttributeValueInObjectsetReferenceClasssetReferenceClassNamesetReferenceDescriptorsetRelationshipPartnersetRelationshipPartnerAttributeNamesetRequiresTransientWeavedFieldssetSelectionCallsetSelectionCriteriasetSelectionQuerysetSelectionSQLStringsetShouldExtendPessimisticLockScopesetTempSessionsetUsesBatchReadingsetUsesIndirectionshouldExtendPessimisticLockScopeshouldExtendPessimisticLockScopeInDedicatedQueryshouldExtendPessimisticLockScopeInSourceQueryshouldExtendPessimisticLockScopeInTargetQueryshouldForceInitializationOfSelectionCriteriashouldInitializeSelectionCriteriashouldMergeCascadePartsshouldMergeCascadeReferenceshouldObjectModifyCascadeToPartsshouldRefreshCascadePartsshouldUseBatchReadingshouldUseValueFromRowWithJointrimRowForJointrimRowForJoinuseBasicIndirectionuseBatchReadinguseContainerIndirectionuseInnerJoinFetchuseOuterJoinFetchusesIndirectionuseWeavedIndirectionvalueFromRowvalueFromRowInternalvalueFromRowInternal