public abstract class AbstractCompositeCollectionMapping extends AggregateMapping implements ContainerMapping
DatabaseMapping.WriteType| Constructor and Description |
|---|
AbstractCompositeCollectionMapping()
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
buildAddedElementFromChangeSet(java.lang.Object changeSet,
org.eclipse.persistence.internal.sessions.MergeManager mergeManager,
org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
INTERNAL:
Build and return a new element based on the change set.
|
java.lang.Object |
buildChangeSet(java.lang.Object element,
org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Build and return a change set for the specified element.
|
java.lang.Object |
buildElementFromElement(java.lang.Object element,
org.eclipse.persistence.internal.sessions.MergeManager mergeManager,
org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
INTERNAL:
Build and return a new element based on the specified element.
|
java.lang.Object |
buildRemovedElementFromChangeSet(java.lang.Object changeSet,
org.eclipse.persistence.internal.sessions.MergeManager mergeManager,
org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
INTERNAL:
Build and return a new element based on the change set.
|
void |
cascadeDiscoverAndPersistUnregisteredNewObjects(java.lang.Object object,
java.util.Map newObjects,
java.util.Map unregisteredExistingObjects,
java.util.Map visitedObjects,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Set cascadeErrors)
INTERNAL:
Cascade discover and persist new objects during commit.
|
void |
cascadePerformRemoveIfRequired(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Map visitedObjects)
INTERNAL:
Cascade perform delete through mappings that require the cascade
|
void |
cascadeRegisterNewIfRequired(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Map visitedObjects)
INTERNAL:
Cascade registerNew for Create through mappings that require the cascade
|
boolean |
compareElements(java.lang.Object element1,
java.lang.Object element2,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Compare the non-null elements and return true if they are alike.
|
boolean |
compareElementsForChange(java.lang.Object element1,
java.lang.Object element2,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Compare the non-null elements and return true if they are alike.
|
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 aggregate 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.
|
void |
convertClassNamesToClasses(java.lang.ClassLoader classLoader)
INTERNAL:
Convert all the class-name-based settings in this mapping to actual class-based
settings.
|
org.eclipse.persistence.internal.queries.ContainerPolicy |
getContainerPolicy()
INTERNAL:
Return the mapping's containerPolicy.
|
Converter |
getConverter()
PUBLIC:
Return the converter on the mapping.
|
org.eclipse.persistence.internal.helper.DatabaseField |
getField()
INTERNAL:
Return the field mapped by this mapping.
|
java.lang.Object |
getRealCollectionAttributeValueFromObject(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Convenience method.
|
boolean |
hasConverter()
PUBLIC:
Indicates if there is a converter on the mapping.
|
void |
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
The mapping is initialized with the given session.
|
boolean |
isAbstractCompositeCollectionMapping()
INTERNAL:
|
boolean |
isCollectionMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
mapKeyHasChanged(java.lang.Object element,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Return whether the element's user-defined Map key has changed
since it was cloned from the original version.
|
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 |
postDeleteAttributeValue(DeleteObjectQuery query,
java.lang.Object attributeValue)
The message is passed to its reference class descriptor.
|
void |
postInsertAttributeValue(WriteObjectQuery query,
java.lang.Object attributeValue)
The message is passed to its reference class descriptor.
|
void |
postUpdateAttributeValue(WriteObjectQuery query,
java.lang.Object attributeValue)
The message is passed to its reference class descriptor.
|
void |
preDeleteAttributeValue(DeleteObjectQuery query,
java.lang.Object attributeValue)
The message is passed to its reference class descriptor.
|
void |
preInsertAttributeValue(WriteObjectQuery query,
java.lang.Object attributeValue)
The message is passed to its reference class descriptor.
|
void |
preUpdateAttributeValue(WriteObjectQuery query,
java.lang.Object attributeValue)
The message is passed to its reference class descriptor.
|
void |
setContainerPolicy(org.eclipse.persistence.internal.queries.ContainerPolicy containerPolicy)
ADVANCED:
Set the mapping's containerPolicy.
|
void |
setConverter(Converter converter)
PUBLIC:
Set the converter on the mapping.
|
void |
setField(org.eclipse.persistence.internal.helper.DatabaseField field)
Set the field in the mapping.
|
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 have an object add to a collection once the changeSet is applied
The referenceKey parameter should only be used for direct Maps.
|
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 have an object removed from a collection once the changeSet is applied
The referenceKey parameter should only be used for direct Maps.
|
void |
useCollectionClass(java.lang.Class concreteContainerClass)
PUBLIC:
Configure the mapping to use an instance of the specified container class
to hold the target objects.
|
void |
useCollectionClassName(java.lang.String concreteContainerClassName) |
void |
useListClassName(java.lang.String concreteContainerClassName) |
void |
useMapClass(java.lang.Class concreteContainerClass,
java.lang.String methodName)
PUBLIC:
Configure the mapping to use an instance of the specified container class
to hold the target objects.
|
void |
useMapClassName(java.lang.String concreteContainerClassName,
java.lang.String methodName) |
java.lang.Object |
valueFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectBuildingQuery sourceQuery,
org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey,
org.eclipse.persistence.internal.sessions.AbstractSession executionSession,
boolean isTargetProtected,
java.lang.Boolean[] wasCacheUsed)
INTERNAL:
Build and return an aggregate collection from the specified row.
|
void |
writeFromObjectIntoRow(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
INTERNAL:
Get the attribute value from the object and add the appropriate
values to the specified database row.
|
void |
writeFromObjectIntoRowForUpdate(WriteObjectQuery writeQuery,
org.eclipse.persistence.internal.sessions.AbstractRecord row)
INTERNAL:
Get the attribute value from the object and add the changed
values to the specified database row.
|
void |
writeFromObjectIntoRowWithChangeRecord(org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
INTERNAL:
Get the attribute value from the object and add the appropriate
values to the specified database row.
|
void |
writeInsertFieldsIntoRow(org.eclipse.persistence.internal.sessions.AbstractRecord record,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Write fields needed for insert into the template with null values.
|
buildBackupClone, buildClone, buildCloneFromRow, buildCopy, buildExpression, fixObjectReferences, getReferenceClass, getReferenceClassName, getReferenceDescriptor, isAggregateMapping, iterate, postDelete, postInsert, postUpdate, preDelete, preInsert, preUpdate, remoteInitialization, setReferenceClass, setReferenceClassName, updateChangeRecord, verifyDeletebuildBackupCloneForPartObject, buildChangeRecord, buildCloneForPartObject, buildContainerClone, buildObjectJoinExpression, buildObjectJoinExpression, buildShallowOriginalFromRow, calculateDeferredChanges, cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired, clone, collectQueryParameters, createCloneValueHolder, derivesId, earlyPreDelete, fixRealObjectReferences, getAttributeAccessor, getAttributeClassification, getAttributeName, getAttributeValueFromObject, getDerivedIdMapping, getDescriptor, getFieldClassification, getFields, getGetMethodName, getMapsIdValue, getObjectCorrespondingTo, getProperties, getProperty, getRealAttributeValueFromAttribute, getRealAttributeValueFromObject, getRelationshipPartner, getSelectFields, getSelectTables, getSetMethodName, getValueFromRemoteValueHolder, getWeight, hasConstraintDependency, hasDependency, hasInverseConstraintDependency, hasMapsIdValue, instantiateAttribute, isAbstractCompositeDirectCollectionMapping, isAbstractCompositeObjectMapping, isAbstractDirectMapping, isAggregateCollectionMapping, isAggregateObjectMapping, isCacheable, isCandidateForPrivateOwnedRemoval, isCascadedLockingSupported, isChangeTrackingSupported, isCloningRequired, isDatabaseMapping, isDirectCollectionMapping, isDirectMapMapping, isDirectToFieldMapping, isDirectToXMLTypeMapping, isEISMapping, isElementCollectionMapping, isForeignReferenceMapping, isJoiningSupported, isJPAId, isLazy, isLockableMapping, isManyToManyMapping, isManyToOneMapping, isMapKeyMapping, isNestedTableMapping, isObjectReferenceMapping, isOneToManyMapping, isOneToOneMapping, isOptional, isOwned, isPrimaryKeyMapping, isPrivateOwned, isReadOnly, isReferenceMapping, isRelationalMapping, isStructureMapping, isTransformationMapping, isUnidirectionalOneToManyMapping, isUsingMethodAccess, isVariableOneToOneMapping, isWriteOnly, isXMLMapping, iterateOnRealAttributeValue, performDataModificationEvent, postCalculateChanges, postCalculateChangesOnDeleted, postInitialize, preInitialize, prepareCascadeLockingPolicy, readFromResultSetIntoObject, readFromRowIntoObject, readOnly, readWrite, recordPrivateOwnedRemovals, rehashFieldDependancies, replaceValueHoldersIn, setAttributeAccessor, setAttributeName, setAttributeValueInObject, setChangeListener, setDerivedIdMapping, setDerivesId, setDescriptor, setGetMethodName, setIsCacheable, setIsJPAId, setIsLazy, setIsMapKeyMapping, setIsOptional, setIsPrimaryKeyMapping, setIsReadOnly, setMapsIdValue, setProperties, setProperty, setRealAttributeValueInObject, setSetMethodName, setWeight, toString, updateCollectionChangeRecord, validateAfterInitialization, validateBeforeInitialization, valueFromObject, valueFromResultSet, valueFromRow, writeFromAttributeIntoRow, writeFromObjectIntoRowForShallowInsert, writeFromObjectIntoRowForShallowInsertWithChangeRecord, writeFromObjectIntoRowForWhereClause, writeUpdateFieldsIntoRowpublic AbstractCompositeCollectionMapping()
public java.lang.Object buildAddedElementFromChangeSet(java.lang.Object changeSet,
org.eclipse.persistence.internal.sessions.MergeManager mergeManager,
org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
public java.lang.Object buildChangeSet(java.lang.Object element,
org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
org.eclipse.persistence.internal.sessions.AbstractSession session)
public java.lang.Object buildElementFromElement(java.lang.Object element,
org.eclipse.persistence.internal.sessions.MergeManager mergeManager,
org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
public java.lang.Object buildRemovedElementFromChangeSet(java.lang.Object changeSet,
org.eclipse.persistence.internal.sessions.MergeManager mergeManager,
org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
public void cascadePerformRemoveIfRequired(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Map visitedObjects)
cascadePerformRemoveIfRequired in class DatabaseMappingpublic void cascadeDiscoverAndPersistUnregisteredNewObjects(java.lang.Object object,
java.util.Map newObjects,
java.util.Map unregisteredExistingObjects,
java.util.Map visitedObjects,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Set cascadeErrors)
cascadeDiscoverAndPersistUnregisteredNewObjects in class DatabaseMappingpublic void cascadeRegisterNewIfRequired(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Map visitedObjects)
cascadeRegisterNewIfRequired in class DatabaseMappingpublic boolean compareElements(java.lang.Object element1,
java.lang.Object element2,
org.eclipse.persistence.internal.sessions.AbstractSession session)
public boolean compareElementsForChange(java.lang.Object element1,
java.lang.Object element2,
org.eclipse.persistence.internal.sessions.AbstractSession session)
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)
compareForChange in class AggregateMappingpublic void convertClassNamesToClasses(java.lang.ClassLoader classLoader)
convertClassNamesToClasses in class AggregateMappingclassLoader - public boolean compareObjects(java.lang.Object object1,
java.lang.Object object2,
org.eclipse.persistence.internal.sessions.AbstractSession session)
compareObjects in class AggregateMappingpublic org.eclipse.persistence.internal.queries.ContainerPolicy getContainerPolicy()
getContainerPolicy in interface ContainerMappinggetContainerPolicy in class DatabaseMappingpublic Converter getConverter()
public org.eclipse.persistence.internal.helper.DatabaseField getField()
getField in class DatabaseMappingpublic java.lang.Object getRealCollectionAttributeValueFromObject(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
getRealCollectionAttributeValueFromObject in class DatabaseMappingDescriptorExceptionpublic boolean hasConverter()
public boolean isAbstractCompositeCollectionMapping()
isAbstractCompositeCollectionMapping in class DatabaseMappingpublic void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
initialize in class AggregateMappingDescriptorExceptionpublic boolean mapKeyHasChanged(java.lang.Object element,
org.eclipse.persistence.internal.sessions.AbstractSession session)
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)
mergeChangesIntoObject in class AggregateMappingpublic 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)
mergeIntoObject in class AggregateMappingpublic void postDeleteAttributeValue(DeleteObjectQuery query, java.lang.Object attributeValue) throws DatabaseException, OptimisticLockException
postDeleteAttributeValue in class AggregateMappingDatabaseExceptionOptimisticLockExceptionpublic void postInsertAttributeValue(WriteObjectQuery query, java.lang.Object attributeValue) throws DatabaseException, OptimisticLockException
postInsertAttributeValue in class AggregateMappingDatabaseExceptionOptimisticLockExceptionpublic void postUpdateAttributeValue(WriteObjectQuery query, java.lang.Object attributeValue) throws DatabaseException, OptimisticLockException
postUpdateAttributeValue in class AggregateMappingDatabaseExceptionOptimisticLockExceptionpublic void preDeleteAttributeValue(DeleteObjectQuery query, java.lang.Object attributeValue) throws DatabaseException, OptimisticLockException
preDeleteAttributeValue in class AggregateMappingDatabaseExceptionOptimisticLockExceptionpublic void preInsertAttributeValue(WriteObjectQuery query, java.lang.Object attributeValue) throws DatabaseException, OptimisticLockException
preInsertAttributeValue in class AggregateMappingDatabaseExceptionOptimisticLockExceptionpublic void preUpdateAttributeValue(WriteObjectQuery query, java.lang.Object attributeValue) throws DatabaseException, OptimisticLockException
preUpdateAttributeValue in class AggregateMappingDatabaseExceptionOptimisticLockExceptionpublic void setContainerPolicy(org.eclipse.persistence.internal.queries.ContainerPolicy containerPolicy)
setContainerPolicy in interface ContainerMappingpublic void setConverter(Converter converter)
public void setField(org.eclipse.persistence.internal.helper.DatabaseField field)
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)
simpleAddToCollectionChangeRecord in class DatabaseMappingpublic void simpleRemoveFromCollectionChangeRecord(java.lang.Object referenceKey,
java.lang.Object changeSetToRemove,
org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet,
org.eclipse.persistence.internal.sessions.AbstractSession session)
simpleRemoveFromCollectionChangeRecord in class DatabaseMappingpublic void useCollectionClass(java.lang.Class concreteContainerClass)
jdk1.2.x: The container class must implement (directly or indirectly) the Collection interface.
jdk1.1.x: The container class must be a subclass of Vector.
useCollectionClass in interface ContainerMappingpublic void useCollectionClassName(java.lang.String concreteContainerClassName)
public void useListClassName(java.lang.String concreteContainerClassName)
public void useMapClass(java.lang.Class concreteContainerClass,
java.lang.String methodName)
jdk1.2.x: The container class must implement (directly or indirectly) the Map interface.
jdk1.1.x: The container class must be a subclass of Hashtable.
The referenceClass must be set before calling this method.
useMapClass in interface ContainerMappingpublic void useMapClassName(java.lang.String concreteContainerClassName,
java.lang.String methodName)
public java.lang.Object valueFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectBuildingQuery sourceQuery,
org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey,
org.eclipse.persistence.internal.sessions.AbstractSession executionSession,
boolean isTargetProtected,
java.lang.Boolean[] wasCacheUsed)
throws DatabaseException
valueFromRow in class DatabaseMappingDatabaseExceptionpublic void writeFromObjectIntoRow(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
throws DescriptorException
writeFromObjectIntoRow in class DatabaseMappingDescriptorExceptionpublic void writeFromObjectIntoRowForUpdate(WriteObjectQuery writeQuery, org.eclipse.persistence.internal.sessions.AbstractRecord row) throws DescriptorException
writeFromObjectIntoRowForUpdate in class DatabaseMappingDescriptorExceptionpublic void writeFromObjectIntoRowWithChangeRecord(org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
throws DescriptorException
writeFromObjectIntoRowWithChangeRecord in class DatabaseMappingDescriptorExceptionpublic void writeInsertFieldsIntoRow(org.eclipse.persistence.internal.sessions.AbstractRecord record,
org.eclipse.persistence.internal.sessions.AbstractSession session)
writeInsertFieldsIntoRow in class DatabaseMappingpublic boolean isCollectionMapping()
DatabaseMappingisCollectionMapping in class DatabaseMappingEclipseLink 2.3.2, "build v20111125-r10461" API Reference