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

public Class AggregateObjectMapping

extends AggregateMapping
implements RelationalMapping, MapKeyMapping, EmbeddableMapping
Class Inheritance
All Implemented Interfaces
org.eclipse.persistence.mappings.EmbeddableMapping, org.eclipse.persistence.mappings.foundation.MapKeyMapping, org.eclipse.persistence.mappings.foundation.MapComponentMapping, org.eclipse.persistence.mappings.RelationalMapping
Imports
java.beans.PropertyChangeListener, java.util.ArrayList, .Arrays, .Collection, .Enumeration, .HashMap, .Hashtable, .Iterator, .List, .Map, .Map.Entry, .Set, .Vector, org.eclipse.persistence.descriptors.ClassDescriptor, .FetchGroupManager, org.eclipse.persistence.descriptors.changetracking.AttributeChangeTrackingPolicy, .DeferredChangeDetectionPolicy, .ObjectChangeTrackingPolicy, org.eclipse.persistence.exceptions.DatabaseException, .DescriptorException, .QueryException, org.eclipse.persistence.expressions.Expression, org.eclipse.persistence.internal.descriptors.DescriptorIterator, .ObjectBuilder, org.eclipse.persistence.internal.expressions.SQLSelectStatement, org.eclipse.persistence.internal.helper.DatabaseField, .DatabaseTable, org.eclipse.persistence.internal.identitymaps.CacheKey, org.eclipse.persistence.internal.queries.ContainerPolicy, .EntityFetchGroup, .JoinedAttributeManager, .MappedKeyMapContainerPolicy, org.eclipse.persistence.internal.sessions.AbstractRecord, .AbstractSession, .AggregateChangeRecord, .ChangeRecord, .MergeManager, .ObjectChangeSet, .UnitOfWorkChangeSet, .UnitOfWorkImpl, org.eclipse.persistence.logging.SessionLog, org.eclipse.persistence.mappings.converters.Converter, org.eclipse.persistence.mappings.foundation.AbstractTransformationMapping, .MapKeyMapping, org.eclipse.persistence.mappings.querykeys.DirectQueryKey, .QueryKey, org.eclipse.persistence.queries.DeleteObjectQuery, .FetchGroup, .FetchGroupTracker, .ObjectBuildingQuery, .ObjectLevelReadQuery, .ReadAllQuery, .ReadObjectQuery, .ReadQuery, .WriteObjectQuery, org.eclipse.persistence.sessions.DatabaseRecord, .Project

Purpose:Two objects can be considered to be related by aggregation if there is a strict 1:1 relationship between the objects. This means that the target (child or owned) object cannot exist without the source (parent) object. In TopLink, it also means the data for the owned object is stored in the same table as the parent.

Author
Sati
Since
TOPLink/Java 1.0

Field Summary

Modifier and TypeField and Description
protected DatabaseTable
protected Map<String, DatabaseField>
aggregateToSourceFields

322233 - changed to store the source DatabaseField to hold Case and other colunm info

protected Map<String, Converter>
converters

List of converters to apply at initialize time to their cloned aggregate mappings.

protected boolean
isNullAllowed

If all the fields in the database row for the aggregate object are NULL, then, by default, the mapping will place a null in the appropriate source object (as opposed to an aggregate object filled with nulls).

protected List<DatabaseMapping>
mapsIdMappings

List of maps id mappings that need to be set to read only at initialize time on their cloned aggregate mappings.

protected Map<String, Object[]>
nestedFieldTranslations

Map of nested attributes that need to apply an override name to their a nested aggregate mapping's database field.

protected List<ManyToManyMapping>
overrideManyToManyMappings

List of many to many mapping overrides to apply at initialize time to their cloned aggregate mappings.

protected List<UnidirectionalOneToManyMapping>
overrideUnidirectionalOneToManyMappings

List of unidirectional one to many mapping overrides to apply at initialize time to their cloned aggregate mappings.

Inherited from org.eclipse.persistence.mappings.AggregateMapping:
hasNestedIdentityReferencereferenceClassreferenceClassNamereferenceDescriptor

Constructor Summary

AccessConstructor and Description
public
AggregateObjectMapping()

Default constructor.

Method Summary

Modifier and TypeMethod and Description
public void
addAdditionalFieldsToQuery(ReadQuery selectionQuery, Expression baseExpression)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.addAdditionalFieldsToQuery.

INTERNAL: Used when initializing queries for mappings that use a Map Called when the selection query is being initialized to add the fields for the map key to the query
public void
addConverter(Converter converter, String attributeName)

Implements org.eclipse.persistence.mappings.EmbeddableMapping.addConverter.

Add a converter to be applied to a mapping of the aggregate descriptor.
public void
addFieldNameTranslation(String sourceFieldName, String aggregateFieldName)

PUBLIC: Add a field name translation that maps from a field name in the source table to a field name in the aggregate descriptor.

public void
addFieldsForMapKey(AbstractRecord joinRow)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.addFieldsForMapKey.

INTERNAL: Used when initializing queries for mappings that use a Map Called when the insert query is being initialized to ensure the fields for the map key are in the insert query
public void
addFieldTranslation(DatabaseField sourceField, String aggregateFieldName)

Implements org.eclipse.persistence.mappings.EmbeddableMapping.addFieldTranslation.

PUBLIC: Add a field translation that maps from a field in the source table to a field name in the aggregate descriptor.
public void
addKeyToDeletedObjectsList(Object object, Map<K, V> deletedObjects)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.addKeyToDeletedObjectsList.

INTERNAL: For mappings used as MapKeys in MappedKeyContainerPolicy.
public void
addMapsIdMapping(DatabaseMapping mapping)

INTERNAL: In JPA users may specify a maps id mapping on a shared embeddable descriptor.

public void
addNestedFieldTranslation(String attributeName, DatabaseField sourceField, String aggregateFieldName)

Implements org.eclipse.persistence.mappings.EmbeddableMapping.addNestedFieldTranslation.

INTERNAL: Add a nested field translation that maps from a field in the source table to a field name in a nested aggregate descriptor.
public void
addOverrideManyToManyMapping(ManyToManyMapping mapping)

Implements org.eclipse.persistence.mappings.EmbeddableMapping.addOverrideManyToManyMapping.

INTERNAL: In JPA users may specify overrides to apply to a many to many mapping on a shared embeddable descriptor.
public void
addOverrideUnidirectionalOneToManyMapping(UnidirectionalOneToManyMapping mapping)

Implements org.eclipse.persistence.mappings.EmbeddableMapping.addOverrideUnidirectionalOneToManyMapping.

INTERNAL: In JPA users may specify overrides to apply to a unidirectional one to many mapping on a shared embeddable descriptor.
public void
addPrimaryKeyJoinField(DatabaseField primaryKeyField, DatabaseField secondaryField)

INTERNAL: Add a primary key join column (secondary field).

protected boolean
allAggregateFieldsAreNull(AbstractRecord databaseRow)

INTERNAL: Return whether all the aggregate fields in the specified row are NULL.

public void
allowNull()

PUBLIC: If all the fields in the database row for the aggregate object are NULL, then, by default, the mapping will place a null in the appropriate source object (as opposed to an aggregate object filled with nulls).

protected boolean
backupAttributeValueIsNull(WriteObjectQuery query)

INTERNAL: Return whether the query's backup object has an attribute value of null.

public Object
buildAggregateFromRow(AbstractRecord databaseRow, Object targetObject, CacheKey cacheKey, JoinedAttributeManager joinManager, ObjectBuildingQuery sourceQuery, boolean buildShallowOriginal, AbstractSession executionSession, boolean targetIsProtected)

INTERNAL: Build and return an aggregate object from the specified row.

public void
buildClone(Object
TODO
original
,
CacheKey
TODO
cacheKey
,
Object
TODO
clone
,
Integer
TODO
refreshCascade
,
AbstractSession
TODO
cloningSession
)

Overrides org.eclipse.persistence.mappings.AggregateMapping.buildClone.

INTERNAL: Clone the attribute from the original and assign it to the clone.
public void
buildCloneFromRow(AbstractRecord
TODO
databaseRow
,
JoinedAttributeManager
TODO
joinManager
,
Object
TODO
clone
,
CacheKey
TODO
sharedCacheKey
,
ObjectBuildingQuery
TODO
sourceQuery
,
UnitOfWorkImpl
TODO
unitOfWork
,
AbstractSession
TODO
executionSession
)

Overrides org.eclipse.persistence.mappings.AggregateMapping.buildCloneFromRow.

INTERNAL: A combination of readFromRowIntoObject and buildClone.
public Object
buildElementClone(Object attributeValue, Object parent, CacheKey parentCacheKey, Integer refreshCascade, AbstractSession cloningSession, boolean isExisting, boolean isFromSharedCache)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.buildElementClone.

INTERNAL: Build a clone of the given element in a unitOfWork
public Expression
buildObjectJoinExpression(Expression
TODO
expression
,
Object
TODO
value
,
AbstractSession
TODO
session
)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.buildObjectJoinExpression.

INTERNAL: Used to allow object level comparisons.
public Expression
buildObjectJoinExpression(Expression
TODO
expression
,
Expression
TODO
argument
,
AbstractSession
TODO
session
)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.buildObjectJoinExpression.

INTERNAL: Used to allow object level comparisons.
public ReadQuery
public void
buildShallowOriginalFromRow(AbstractRecord
TODO
databaseRow
,
Object
TODO
original
,
JoinedAttributeManager
TODO
joinManager
,
ObjectBuildingQuery
TODO
sourceQuery
,
AbstractSession
TODO
executionSession
)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.buildShallowOriginalFromRow.

INTERNAL: Builds a shallow original object.
protected AbstractRecord
buildTemplateInsertRow(AbstractSession session)

INTERNAL: Build and return a "template" database row with all the fields set to null.

protected CacheKey
buildWrapperCacheKeyForAggregate(CacheKey
- the cache key holding the object to extract the aggregate from
owningCacheKey
,
boolean targetIsProtected)

INTERNAL: Wrap the aggregate represented by this mapping in a cachekey so it can be processed my methods down the stack.

public void
cascadeDiscoverAndPersistUnregisteredNewObjects(Object object, Map<K, V> newObjects, Map<K, V> unregisteredExistingObjects, Map<K, V> visitedObjects, UnitOfWorkImpl uow, boolean getAttributeValueFromObject, Set<E> cascadeErrors)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.cascadeDiscoverAndPersistUnregisteredNewObjects.

INTERNAL: Cascade discover and persist new objects during commit to the map key
public void
cascadePerformRemoveIfRequired(Object object, UnitOfWorkImpl uow, Map<K, V> visitedObjects, boolean getAttributeValueFromObject)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.cascadePerformRemoveIfRequired.

INTERNAL: Cascade perform delete through mappings that require the cascade
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 object, UnitOfWorkImpl uow, Map<K, V> visitedObjects, boolean getAttributeValueFromObject)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.cascadeRegisterNewIfRequired.

INTERNAL: Cascade registerNew for Create through mappings that require the cascade
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
protected Vector<DatabaseField>
collectFields()

Overrides org.eclipse.persistence.mappings.DatabaseMapping.collectFields.

INTERNAL: Return the fields handled by the mapping.
public void
collectQueryParameters(Set<DatabaseField>
TODO
record
)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.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
convertClassNamesToClasses(ClassLoader
TODO
classLoader
)

Overrides org.eclipse.persistence.mappings.AggregateMapping.convertClassNamesToClasses.

INTERNAL: Convert all the class-name-based settings in this mapping to actual class-based settings.
public Object
createMapComponentFromJoinedRow(AbstractRecord dbRow, JoinedAttributeManager joinManger, ObjectBuildingQuery query, CacheKey parentCacheKey, AbstractSession session, boolean isTargetProtected)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.createMapComponentFromJoinedRow.

INTERNAL Called when a DatabaseMapping is used to map the key in a collection and a join query is executed.
public Object
createMapComponentFromRow(AbstractRecord dbRow, ObjectBuildingQuery query, CacheKey parentCacheKey, AbstractSession session, boolean isTargetProtected)

Implements org.eclipse.persistence.mappings.foundation.MapComponentMapping.createMapComponentFromRow.

INTERNAL Called when a DatabaseMapping is used to map the key in a collection.
public List<Object>
createMapComponentsFromSerializableKeyInfo(Object[] keyInfo, AbstractSession session)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.createMapComponentsFromSerializableKeyInfo.

INTERNAL: Create an instance of the Key object from the key information extracted from the map.
public QueryKey
createQueryKeyForMapKey()

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.createQueryKeyForMapKey.

INTERNAL: Create a query key that links to the map key
public Object
createSerializableMapKeyInfo(Object key, AbstractSession session)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.createSerializableMapKeyInfo.

INTERNAL: Creates the Array of simple types used to recreate this map.
public Object
createStubbedMapComponentFromSerializableKeyInfo(Object keyInfo, AbstractSession session)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.createStubbedMapComponentFromSerializableKeyInfo.

INTERNAL: Create an instance of the Key object from the key information extracted from the map.
public void
deleteMapKey(Object objectDeleted, AbstractSession session)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.deleteMapKey.

INTERNAL: For mappings used as MapKeys in MappedKeyContainerPolicy, Delete the passed object if necessary.
public void
dontAllowNull()

PUBLIC: If all the fields in the database row for the aggregate object are NULL, then, by default, the mapping will place a null in the appropriate source object (as opposed to an aggregate object filled with nulls).

public void
earlyPreDelete(DeleteObjectQuery
TODO
query
,
Object
TODO
object
)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.earlyPreDelete.

INTERNAL: This method is called to update collection tables prior to commit.
public Map<K, V>
extractIdentityFieldsForQuery(Object object, AbstractSession session)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.extractIdentityFieldsForQuery.

INTERNAL: Extract the fields for the Map key from the object to use in a query.
public Expression
getAdditionalSelectionCriteriaForMapKey()

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.getAdditionalSelectionCriteriaForMapKey.

INTERNAL: Return the selection criteria necessary to select the target object when this mapping is a map key.
public List<DatabaseTable>
getAdditionalTablesForJoinQuery()

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.getAdditionalTablesForJoinQuery.

INTERNAL: Return any tables that will be required when this mapping is used as part of a join query
public Vector<Association>
getAggregateToSourceFieldAssociations()

INTERNAL: Return a collection of the aggregate to source field associations.

public Map<String, DatabaseField>
getAggregateToSourceFields()

INTERNAL: Return the hashtable that stores aggregate field name to source fields.

public List<DatabaseField>
public Class<?>
getAttributeClassification()

Overrides org.eclipse.persistence.mappings.DatabaseMapping.getAttributeClassification.

PUBLIC: The classification type for the attribute this mapping represents
public Class<?>
getFieldClassification(DatabaseField fieldToClassify)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.getFieldClassification.

INTERNAL: Return the classification for the field contained in the mapping.
public Map<DatabaseField, DatabaseField>
getForeignKeyFieldsForMapKey()

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.getForeignKeyFieldsForMapKey.

INTERNAL: Return a Map of any foreign keys defined within the the MapKey
public List<DatabaseField>
getIdentityFieldsForMapKey()

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.getIdentityFieldsForMapKey.

INTERNAL: Return the fields that make up the identity of the mapped object.
public Object
getMapKeyTargetType()

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.getMapKeyTargetType.

INTERNAL: Return the class this key mapping maps or the descriptor for it
protected Object
getMatchingAttributeValueFromObject(AbstractRecord row, Object targetObject, AbstractSession session, ClassDescriptor descriptor)

INTERNAL: This is used to preserve object identity during a refreshObject() query.

protected Object
getMatchingBackupAttributeValue(WriteObjectQuery query, Object attributeValue)

INTERNAL: This is used to match up objects during an update in a UOW.

public Map<String, Object[]>
getNestedFieldTranslations()

INTERNAL: Return the hashtable that stores the nested field translations.

public ObjectLevelReadQuery
getNestedJoinQuery(JoinedAttributeManager joinManager, ObjectLevelReadQuery query, AbstractSession session)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.getNestedJoinQuery.

INTERNAL: Return the query that is used when this mapping is part of a joined relationship This method is used when this mapping is used to map the key in a Map
public List<Expression>
public ClassDescriptor
getReferenceDescriptor(Class<?> theClass, AbstractSession session)

Overrides org.eclipse.persistence.mappings.AggregateMapping.getReferenceDescriptor.

INTERNAL: Since aggregate object mappings clone their descriptors, for inheritance the correct child clone must be found.
protected Vector<DatabaseField>
getReferenceFields()

INTERNAL: Return the fields used to build the aggregate object.

public Object
getTargetVersionOfSourceObject(Object object, Object parent, MergeManager mergeManager, AbstractSession targetSession)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.getTargetVersionOfSourceObject.

INTERNAL: If required, get the targetVersion of the source object from the merge manager.
public boolean
hasDependency()

Overrides org.eclipse.persistence.mappings.DatabaseMapping.hasDependency.

INTERNAL: Return if the mapping has any ownership or other dependency over its target object(s).
public void
initialize(AbstractSession session)

Overrides org.eclipse.persistence.mappings.AggregateMapping.initialize.

INTERNAL: For an aggregate mapping the reference descriptor is cloned.
public void
initializeChildInheritance(ClassDescriptor parentDescriptor, AbstractSession session)

INTERNAL: For an aggregate mapping the reference descriptor is cloned.

public void
initializeParentInheritance(ClassDescriptor parentDescriptor, ClassDescriptor childDescriptor, AbstractSession session)

INTERNAL: For an aggregate mapping the reference descriptor is cloned.

protected void
initializeReferenceDescriptor(ClassDescriptor clonedDescriptor, AbstractSession session)

INTERNAL: Initialize the cloned reference descriptor with table names and primary keys

public boolean
isAggregateObjectMapping()

Overrides org.eclipse.persistence.mappings.DatabaseMapping.isAggregateObjectMapping.

INTERNAL: Related mapping should implement this method to return true.
public boolean
isCascadedLockingSupported()

Overrides org.eclipse.persistence.mappings.DatabaseMapping.isCascadedLockingSupported.

INTERNAL Return true if this mapping supports cascaded version optimistic locking.
public boolean
isChangeTrackingSupported(Project project)

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

INTERNAL: Return if this mapping supports change tracking.
public boolean
isJPAIdNested(AbstractSession session)

INTERNAL: Flags that either this mapping or nested mapping is a JPA id mapping.

public boolean
isLockableMapping()

Overrides org.eclipse.persistence.mappings.DatabaseMapping.isLockableMapping.

INTERNAL: Return whether this mapping should be traversed when we are locking
public boolean
isNullAllowed()

PUBLIC: Return if all the fields in the database row for the aggregate object are NULL, then, by default, the mapping will place a null in the appropriate source object (as opposed to an aggregate object filled with nulls).

public boolean
public void
iterateOnMapKey(DescriptorIterator iterator, Object element)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.iterateOnMapKey.

INTERNAL: Called when iterating through descriptors to handle iteration on this mapping when it is used as a MapKey
public void
postInitialize(AbstractSession session)

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

INTERNAL: For an aggregate mapping the reference descriptor is cloned.
public void
postInitializeMapKey(MappedKeyMapContainerPolicy policy)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.postInitializeMapKey.

INTERNAL: Making any mapping changes necessary to use a the mapping as a map key after initializing the mapping.
public void
preinitializeMapKey(DatabaseTable table)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.preinitializeMapKey.

INTERNAL: Making any mapping changes necessary to use a the mapping as a map key prior to initializing the mapping
public ObjectBuildingQuery
prepareNestedQuery(ObjectBuildingQuery sourceQuery)

INTERNAL: Clone and prepare the selection query as a nested batch read query.

public Object
readFromReturnRowIntoObject(AbstractRecord row, Object targetObject, ReadObjectQuery query, Collection<E> handledMappings, ObjectChangeSet changeSet)

INTERNAL: Build an aggregate object from the specified return row and put it in the specified target object.

public Object
readFromRowIntoObject(AbstractRecord databaseRow, JoinedAttributeManager joinManager, Object targetObject, CacheKey parentCacheKey, ObjectBuildingQuery sourceQuery, AbstractSession executionSession, boolean isTargetProtected)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.readFromRowIntoObject.

INTERNAL: Build an aggregate object from the specified row and put it in the specified target object.
public void
public boolean
requiresDataModificationEventsForMapKey()

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.requiresDataModificationEventsForMapKey.

INTERNAL: Return whether this mapping requires extra queries to update the rows if it is used as a key in a map.
public void
setAggregateToSourceFieldAssociations(Vector<Association> fieldAssociations)

INTERNAL: Set a collection of the aggregate to source field name associations.

public void
setAggregateToSourceFields(Map<String, DatabaseField> aggregateToSource)

INTERNAL: Set the hashtable that stores target field name to the source field name.

public void
setChangeListener(Object clone, PropertyChangeListener listener, UnitOfWorkImpl uow)

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

INTERNAL: Set the change listener in the aggregate.
public void
setIsNullAllowed(boolean isNullAllowed)

PUBLIC: Configure if all the fields in the database row for the aggregate object are NULL, then, by default, the mapping will place a null in the appropriate source object (as opposed to an aggregate object filled with nulls).

public void
setNestedFieldTranslations(Map<String, Object[]> fieldTranslations)

INTERNAL: Set the hashtable that stores a field in the source table to a field name in a nested aggregate descriptor.

public void
setTableForAggregateMappingKey(DatabaseTable table)

INTERNAL: If this mapping is used as the key of a CollectionTableMapMapping, the table used by this mapping will be the relation table.

protected void
translateField(DatabaseField sourceField, DatabaseField mappingField, ClassDescriptor clonedDescriptor)

INTERNAL: Apply the field translation from the sourceField to the mappingField.

protected void
translateFields(ClassDescriptor clonedDescriptor, AbstractSession session)

INTERNAL: If field names are different in the source and aggregate objects then the translation is done here.

protected void
translateNestedFields(ClassDescriptor clonedDescriptor, AbstractSession session)

INTERNAL: If field names are different in the source and aggregate objects then the translation is done here.

public Object
unwrapKey(Object key, AbstractSession session)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.unwrapKey.

INTERNAL: Allow the key mapping to unwrap the object.
public Object
valueFromObject(Object
TODO
object
,
DatabaseField
TODO
field
,
AbstractSession
TODO
session
)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.valueFromObject.

INTERNAL: Extract value of the field from the object
public Object
wrapKey(Object key, AbstractSession session)

Implements org.eclipse.persistence.mappings.foundation.MapKeyMapping.wrapKey.

INTERNAL: Allow the key mapping to wrap the object.
public void
writeFromAttributeIntoRow(Object attribute, AbstractRecord row, AbstractSession session)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.writeFromAttributeIntoRow.

INTERNAL: A subclass should implement this method if it wants different behavior.
public void
writeFromObjectIntoRow(Object object, AbstractRecord databaseRow, AbstractSession session, DatabaseMapping.WriteType writeType)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.writeFromObjectIntoRow.

INTERNAL: Get the attribute value from the object and add the appropriate values to the specified database row.
public void
writeFromObjectIntoRowForShallowInsert(Object object, AbstractRecord row, AbstractSession session)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.writeFromObjectIntoRowForShallowInsert.

INTERNAL: This row is built for shallow insert which happens in case of bidirectional inserts.
public void
writeFromObjectIntoRowForUpdate(WriteObjectQuery query, AbstractRecord databaseRow)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.writeFromObjectIntoRowForUpdate.

INTERNAL: Get the attribute value from the object and add the changed values to the specified database row.
public void
writeFromObjectIntoRowForUpdateAfterShallowInsert(Object object, AbstractRecord row, AbstractSession session, DatabaseTable table)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.writeFromObjectIntoRowForUpdateAfterShallowInsert.

INTERNAL: This row is built for update after shallow insert which happens in case of bidirectional inserts.
public void
writeFromObjectIntoRowForUpdateBeforeShallowDelete(Object object, AbstractRecord row, AbstractSession session, DatabaseTable table)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.writeFromObjectIntoRowForUpdateBeforeShallowDelete.

INTERNAL: This row is built for update before shallow delete which happens in case of bidirectional inserts.
public void
writeFromObjectIntoRowWithChangeRecord(ChangeRecord changeRecord, AbstractRecord databaseRow, AbstractSession session, DatabaseMapping.WriteType writeType)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.writeFromObjectIntoRowWithChangeRecord.

INTERNAL: Get the attribute value from the object and add the appropriate values to the specified database row.
public void
writeInsertFieldsIntoRow(AbstractRecord databaseRow, AbstractSession session)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.writeInsertFieldsIntoRow.

INTERNAL: Write fields needed for insert into the template for with null values.
protected void
writeNullReferenceRow(AbstractRecord record)

INTERNAL: Write null values for all aggregate fields into the parent row.

protected void
writeToRowFromAggregate(AbstractRecord record, Object object, Object attributeValue, AbstractSession session, DatabaseMapping.WriteType writeType)

INTERNAL: Write the aggregate values into the parent row.

protected void
writeToRowFromAggregateForShallowInsert(AbstractRecord record, Object object, Object attributeValue, AbstractSession session)

INTERNAL: Write the aggregate values into the parent row for shallow insert.

protected void
writeToRowFromAggregateForUpdate(AbstractRecord record, WriteObjectQuery query, Object attributeValue)

INTERNAL: Build and return a database row built with the changed values from the specified attribute value.

protected void
writeToRowFromAggregateForUpdateAfterShallowInsert(AbstractRecord record, Object object, Object attributeValue, AbstractSession session, DatabaseTable table)

INTERNAL: Write the aggregate values into the parent row for update after shallow insert.

protected void
writeToRowFromAggregateForUpdateBeforeShallowDelete(AbstractRecord record, Object object, Object attributeValue, AbstractSession session, DatabaseTable table)

INTERNAL: Write the aggregate values into the parent row for update before shallow delete.

protected void
writeToRowFromAggregateWithChangeRecord(AbstractRecord record, ChangeRecord changeRecord, ObjectChangeSet objectChangeSet, AbstractSession session, DatabaseMapping.WriteType writeType)

INTERNAL: Build and return a database row built with the values from the specified attribute value.

public void
writeUpdateFieldsIntoRow(AbstractRecord databaseRow, AbstractSession session)

Overrides org.eclipse.persistence.mappings.DatabaseMapping.writeUpdateFieldsIntoRow.

INTERNAL: Write fields needed for update into the template for with null values.
Inherited from org.eclipse.persistence.mappings.AggregateMapping:
buildAggregateDeleteQuerybuildAggregateModifyQuerybuildAggregateWriteQuerybuildBackupClonebuildBackupClonePartbuildClonePartbuildClonePartbuildCopybuildCopyOfAttributeValuebuildExpressionbuildNewMergeInstanceOfcompareAttributeValuescompareForChangecompareObjectsexecuteEventfixAttributeValuefixObjectReferencesgetAttributeValueFromBackupClonegetObjectBuildergetObjectBuilderForClassgetQueryManagergetReferenceClassgetReferenceClassNamegetReferenceDescriptorgetReferenceDescriptorhasNestedIdentityReferenceisAggregateMappingiterateiterateOnAttributeValueloadloadAllmergeAttributeValuemergeChangesIntoObjectmergeIntoObjectpostDeletepostDeleteAttributeValuepostInsertpostInsertAttributeValuepostUpdatepostUpdateAttributeValuepreDeletepreDeleteAttributeValuepreInsertpreInsertAttributeValuepreUpdatepreUpdateAttributeValueremoteInitializationsetReferenceClasssetReferenceClassNamesetReferenceDescriptorupdateChangeRecordverifyDeleteverifyDeleteOfAttributeValue