|
EclipseLink1.0 - 20080707 API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.mappings.DatabaseMapping org.eclipse.persistence.mappings.ForeignReferenceMapping org.eclipse.persistence.mappings.CollectionMapping org.eclipse.persistence.mappings.DirectCollectionMapping
public class DirectCollectionMapping
Purpose: This mapping is used to store a collection of simple types (String, Number, Date, etc.) into a single table. The table must store the value and a foreign key to the source object. A converter can be used if the desired object type and the data type do not match.
Converter
,
ObjectTypeConverter
,
TypeConversionConverter
,
SerializedObjectConverter
,
Serialized FormField Summary | |
---|---|
protected ModifyQuery |
changeSetDeleteQuery
Used for deletion when ChangeSets are used |
protected static java.lang.String |
Delete
Used for data modification events. |
protected static java.lang.String |
DeleteAll
|
protected org.eclipse.persistence.internal.helper.DatabaseField |
directField
The direct field name is converted and stored |
protected boolean |
hasCustomDeleteQuery
|
protected boolean |
hasCustomInsertQuery
|
protected HistoryPolicy |
historyPolicy
|
protected static java.lang.String |
Insert
|
protected DataModifyQuery |
insertQuery
Used for insertion for m-m and dc, not used in 1-m. |
protected java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
referenceKeyFields
|
protected org.eclipse.persistence.internal.helper.DatabaseTable |
referenceTable
Stores the reference table |
protected java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
sourceKeyFields
|
protected Converter |
valueConverter
Allows user defined conversion between the object value and the database value. |
protected java.lang.String |
valueConverterClassName
|
Fields inherited from class org.eclipse.persistence.mappings.CollectionMapping |
---|
containerPolicy, deleteAllQuery, hasCustomDeleteAllQuery, hasOrderBy |
Fields inherited from class org.eclipse.persistence.mappings.ForeignReferenceMapping |
---|
cascadeMerge, cascadePersist, cascadeRefresh, cascadeRemove, hasCustomSelectionQuery, indirectionPolicy, INNER_JOIN, isPrivateOwned, joinFetch, NONE, OUTER_JOIN, referenceClass, referenceClassName, referenceDescriptor, relationshipPartner, relationshipPartnerAttributeName, selectionQuery, tempInitSession, usesBatchReading |
Fields inherited from class org.eclipse.persistence.mappings.DatabaseMapping |
---|
attributeAccessor, attributeName, descriptor, fields, isLazy, isOptional, isReadOnly, isRemotelyInitialized, NO_FIELDS, NO_WEIGHT, primaryKeyMapping, properties, weight, WEIGHT_1 |
Constructor Summary | |
---|---|
DirectCollectionMapping()
PUBLIC: Default constructor. |
Method Summary | |
---|---|
void |
addReferenceKeyField(org.eclipse.persistence.internal.helper.DatabaseField referenceForeignKeyField,
org.eclipse.persistence.internal.helper.DatabaseField sourcePrimaryKeyField)
PUBLIC: Add the reference key field. |
void |
addReferenceKeyFieldName(java.lang.String referenceForeignKeyFieldName,
java.lang.String sourcePrimaryKeyFieldName)
PUBLIC: Add the name of the reference key field. |
void |
addToCollectionChangeRecord(java.lang.Object newKey,
java.lang.Object newValue,
org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL: Add a new value and its change set to the collection change record. |
void |
buildCopy(java.lang.Object copy,
java.lang.Object original,
ObjectCopyingPolicy policy)
INTERNAL: Copy of the attribute of the object. |
protected java.lang.Object |
buildElementClone(java.lang.Object element,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork,
boolean isExisting)
INTERNAL: Clone the element, if necessary. |
void |
calculateDeferredChanges(org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Used by AttributeLevelChangeTracking to update a changeRecord with calculated changes as apposed to detected changes. |
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)
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 |
java.lang.Object |
clone()
INTERNAL: The mapping clones itself to create deep copy. |
void |
compareCollectionsForChange(java.lang.Object oldCollection,
java.lang.Object newCollection,
org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: This method is used to calculate the differences between two collections. |
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: This method compares the changes between two direct collections. |
boolean |
compareObjects(java.lang.Object firstObject,
java.lang.Object secondObject,
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 This method is implemented by subclasses as necessary. |
protected java.util.Vector |
extractKeyFromReferenceRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Extract the source primary key value from the reference direct row. |
protected java.util.Vector |
extractPrimaryKeyFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Extract the primary key value from the source row. |
java.lang.Object |
extractResultFromBatchQuery(DatabaseQuery query,
org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.sessions.AbstractRecord argumentRow)
INTERNAL: Extract the value from the batch optimized query. |
void |
fixRealObjectReferences(java.lang.Object object,
java.util.Map objectInformation,
java.util.Map processedObjects,
ObjectLevelReadQuery query,
RemoteSession session)
INTERNAL: At this point, we realize we don't have indirection; so we need to replace the reference object(s) with the corresponding object(s) from the remote session. |
protected ModifyQuery |
getDeleteQuery()
|
org.eclipse.persistence.internal.helper.DatabaseField |
getDirectField()
INTERNAL: Return the direct field. |
java.lang.String |
getDirectFieldName()
PUBLIC: Returns the name of the field name in the reference table. |
HistoryPolicy |
getHistoryPolicy()
PUBLIC: |
protected DataModifyQuery |
getInsertQuery()
|
Expression |
getJoinCriteria(org.eclipse.persistence.internal.expressions.QueryKeyExpression exp)
INTERNAL: Returns the join criteria stored in the mapping selection query. |
java.lang.Object |
getObjectCorrespondingTo(java.lang.Object object,
RemoteSession session,
java.util.Map objectDescriptors,
java.util.Map processedObjects,
ObjectLevelReadQuery query)
INTERNAL: return the object on the client corresponding to the specified object. |
java.lang.Class |
getReferenceClass()
INTERNAL: This cannot be used with direct collection mappings. |
java.lang.String |
getReferenceClassName()
INTERNAL: Returns the reference class name. |
ClassDescriptor |
getReferenceDescriptor()
INTERNAL: There is none on direct collection. |
java.util.Vector |
getReferenceKeyFieldNames()
INTERNAL: Return the reference key field names associated with the mapping. |
java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
getReferenceKeyFields()
INTERNAL: Return the reference key fields. |
org.eclipse.persistence.internal.helper.DatabaseTable |
getReferenceTable()
INTERNAL: Return the direct table. |
java.lang.String |
getReferenceTableName()
PUBLIC: Returns the name of the reference table |
java.lang.String |
getReferenceTableQualifiedName()
PUBLIC: Returns the qualified name of the reference table |
DatabaseMapping |
getRelationshipPartner()
INTERNAL: Return the relationshipPartner mapping for this bi-directional mapping. |
java.util.Vector |
getSelectFields()
INTERNAL: Returns the set of fields that should be selected to build this mapping's value(s). |
java.util.Vector |
getSelectTables()
INTERNAL: Returns the table(s) that should be selected to build this mapping's value(s). |
java.util.Vector |
getSourceKeyFieldNames()
PUBLIC: Return the source key field names associated with the mapping. |
java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
getSourceKeyFields()
INTERNAL: Return the source key fields. |
Converter |
getValueConverter()
PUBLIC: Return the converter on the mapping. |
protected boolean |
hasCustomDeleteQuery()
|
protected boolean |
hasCustomInsertQuery()
|
void |
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Initialize and validate the mapping properties. |
protected void |
initializeDeleteAllQuery(org.eclipse.persistence.internal.sessions.AbstractSession session)
Initialize delete all query. |
protected void |
initializeDeleteQuery(org.eclipse.persistence.internal.sessions.AbstractSession session)
|
protected void |
initializeDirectField(org.eclipse.persistence.internal.sessions.AbstractSession session)
The field name on the reference table is initialized and cached. |
protected void |
initializeInsertQuery(org.eclipse.persistence.internal.sessions.AbstractSession session)
Initialize insert query. |
protected void |
initializeReferenceDescriptor(org.eclipse.persistence.internal.sessions.AbstractSession session)
There is no reference descriptor |
protected void |
initializeReferenceKeys(org.eclipse.persistence.internal.sessions.AbstractSession session)
The reference keys on the reference table are initalized |
protected void |
initializeReferenceTable(org.eclipse.persistence.internal.sessions.AbstractSession session)
Set the table qualifier on the reference table if required |
protected void |
initializeSelectionCriteria(org.eclipse.persistence.internal.sessions.AbstractSession session)
|
protected void |
initializeSelectionQuery(org.eclipse.persistence.internal.sessions.AbstractSession session)
The selection query is initialized |
protected void |
initializeSelectionStatement(org.eclipse.persistence.internal.sessions.AbstractSession session)
|
protected void |
initializeSourceKeys(org.eclipse.persistence.internal.sessions.AbstractSession session)
The source keys are initalized |
protected void |
initializeSourceKeysWithDefaults(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: If a user does not specify the source key then the primary keys of the source table are used. |
boolean |
isCascadedLockingSupported()
INTERNAL Return true if this mapping supports cascaded version optimistic locking. |
boolean |
isChangeTrackingSupported(Project project)
INTERNAL: Return if this mapping supports change tracking. |
boolean |
isDirectCollectionMapping()
INTERNAL: |
boolean |
isJoiningSupported()
INTERNAL: Return if this mapping support joining. |
protected boolean |
isKeyForSourceSpecified()
INTERNAL: Checks if source and target keys are mentioned by the user or not. |
boolean |
isPrivateOwned()
INTERNAL: Return true if referenced objects are provately owned else false. |
boolean |
isRelationalMapping()
INTERNAL: All relational mappings should implement this method to return true. |
void |
iterateOnElement(org.eclipse.persistence.internal.descriptors.DescriptorIterator iterator,
java.lang.Object element)
INTERNAL: Iterate on the specified element. |
void |
iterateOnRealAttributeValue(org.eclipse.persistence.internal.descriptors.DescriptorIterator iterator,
java.lang.Object realAttributeValue)
INTERNAL: Iterate on the attribute value. |
void |
mergeChangesIntoObject(java.lang.Object target,
org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord,
java.lang.Object source,
org.eclipse.persistence.internal.sessions.MergeManager mergeManager)
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)
INTERNAL: Merge changes from the source to the target object. |
void |
performDataModificationEvent(java.lang.Object[] event,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Perform the commit event. |
void |
postInsert(WriteObjectQuery query)
INTERNAL: Insert the private owned object. |
void |
postUpdate(WriteObjectQuery writeQuery)
INTERNAL: Update private owned part. |
protected void |
postUpdateWithChangeSet(WriteObjectQuery writeQuery)
INTERNAL: Update private owned part. |
void |
preDelete(DeleteObjectQuery query)
INTERNAL: Delete private owned part. |
ReadQuery |
prepareNestedBatchQuery(ReadAllQuery query)
INTERNAL: Clone and prepare the selection query as a nested batch read query. |
ObjectLevelReadQuery |
prepareNestedJoins(org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectBuildingQuery baseQuery,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Clone and prepare the joined direct query. |
protected void |
prepareTranslationRow(org.eclipse.persistence.internal.sessions.AbstractRecord translationRow,
java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: The translation row may require additional fields than the primary key if the mapping in not on the primary key. |
void |
remoteInitialization(DistributedSession session)
INTERNAL: Once descriptors are serialized to the remote session. |
void |
removeFromCollectionChangeRecord(java.lang.Object newKey,
java.lang.Object newValue,
org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL: Remove a value and its change set from the collection change record. |
java.util.Map |
replaceValueHoldersIn(java.lang.Object object,
org.eclipse.persistence.internal.sessions.remote.RemoteSessionController controller)
INTERNAL: replace the value holders in the specified reference object(s) |
void |
setContainerPolicy(org.eclipse.persistence.internal.queries.ContainerPolicy containerPolicy)
ADVANCED: Configure the mapping to use a container policy. |
void |
setCustomDeleteQuery(ModifyQuery query)
PUBLIC: The default delete query for this mapping can be overridden by specifying the new query. |
void |
setCustomInsertQuery(DataModifyQuery query)
PUBLIC: The default insert query for mapping can be overridden by specifying the new query. |
protected void |
setDeleteQuery(ModifyQuery query)
|
void |
setDeleteSQLString(java.lang.String sqlString)
PUBLIC: Set the receiver's delete SQL string. |
void |
setDirectField(org.eclipse.persistence.internal.helper.DatabaseField field)
PUBLIC: Set the direct field in the reference table. |
void |
setDirectFieldClassification(java.lang.Class fieldType)
ADVANCED: Set the class type of the field value. |
void |
setDirectFieldName(java.lang.String fieldName)
PUBLIC: Set the direct field name in the reference table. |
protected void |
setHasCustomDeleteQuery(boolean bool)
|
protected void |
setHasCustomInsertQuery(boolean bool)
|
void |
setHistoryPolicy(HistoryPolicy policy)
PUBLIC: |
protected void |
setInsertQuery(DataModifyQuery insertQuery)
|
void |
setInsertSQLString(java.lang.String sqlString)
PUBLIC: Set the receiver's insert SQL string. |
void |
setReferenceClass(java.lang.Class referenceClass)
INTERNAL: This cannot be used with direct collection mappings. |
void |
setReferenceClassName(java.lang.String referenceClassName)
INTERNAL: Used by MW. |
void |
setReferenceKeyFieldName(java.lang.String fieldName)
PUBLIC: Set the name of the reference key field. |
void |
setReferenceKeyFieldNames(java.util.Vector fieldNames)
INTERNAL: Set the reference key field names associated with the mapping. |
void |
setReferenceKeyFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> aVector)
INTERNAL: Set the reference fields. |
void |
setReferenceTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL: Set the reference table. |
void |
setReferenceTableName(java.lang.String tableName)
PUBLIC: Set the reference table name. |
protected void |
setSelectionQueryContainerPolicy(org.eclipse.persistence.internal.queries.ContainerPolicy containerPolicy)
INTERNAL: Set the container policy on the selection query for this mapping. |
void |
setSessionName(java.lang.String name)
PUBLIC: Set the name of the session to execute the mapping's queries under. |
void |
setSourceKeyFieldNames(java.util.Vector fieldNames)
INTERNAL: Set the source key field names associated with the mapping. |
void |
setSourceKeyFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> sourceKeyFields)
INTERNAL: Set the source fields. |
void |
setValueConverter(Converter valueConverter)
PUBLIC: Set the converter on the mapping. |
void |
setValueConverterClassName(java.lang.String valueConverterClassName)
PUBLIC: Set the converter class name on the mapping. |
void |
simpleAddToCollectionChangeRecord(java.lang.Object referenceKey,
java.lang.Object objectToAdd,
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 objectToRemove,
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 |
updateChangeRecord(java.lang.Object clone,
java.lang.Object newValue,
java.lang.Object oldValue,
org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL: Either create a new change record or update with the new value. |
void |
useCollectionClass(java.lang.Class concreteClass)
PUBLIC: Configure the mapping to use an instance of the specified container class to hold the target objects. |
void |
useMapClass(java.lang.Class concreteClass,
java.lang.String methodName)
PUBLIC: It is illegal to use a Map as the container of a DirectCollectionMapping. |
java.lang.Object |
valueFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectBuildingQuery sourceQuery,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Return the value of the reference attribute or a value holder. |
protected java.lang.Object |
valueFromRowInternalWithJoin(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectBuildingQuery sourceQuery,
org.eclipse.persistence.internal.sessions.AbstractSession executionSession)
INTERNAL: Return the value of the field from the row or a value holder on the query to obtain the object. |
boolean |
verifyDelete(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Checks if object is deleted from the database or not. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected static final java.lang.String Delete
protected static final java.lang.String Insert
protected static final java.lang.String DeleteAll
protected Converter valueConverter
protected java.lang.String valueConverterClassName
protected transient org.eclipse.persistence.internal.helper.DatabaseTable referenceTable
protected transient org.eclipse.persistence.internal.helper.DatabaseField directField
protected transient java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> sourceKeyFields
protected transient java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> referenceKeyFields
protected transient DataModifyQuery insertQuery
protected transient ModifyQuery changeSetDeleteQuery
protected transient boolean hasCustomDeleteQuery
protected transient boolean hasCustomInsertQuery
protected HistoryPolicy historyPolicy
Constructor Detail |
---|
public DirectCollectionMapping()
Method Detail |
---|
public boolean isRelationalMapping()
DatabaseMapping
isRelationalMapping
in class DatabaseMapping
public Converter getValueConverter()
public void setValueConverter(Converter valueConverter)
public void setValueConverterClassName(java.lang.String valueConverterClassName)
public void addReferenceKeyField(org.eclipse.persistence.internal.helper.DatabaseField referenceForeignKeyField, org.eclipse.persistence.internal.helper.DatabaseField sourcePrimaryKeyField)
public void addReferenceKeyFieldName(java.lang.String referenceForeignKeyFieldName, java.lang.String sourcePrimaryKeyFieldName)
public ReadQuery prepareNestedBatchQuery(ReadAllQuery query)
prepareNestedBatchQuery
in class ForeignReferenceMapping
public ObjectLevelReadQuery prepareNestedJoins(org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, ObjectBuildingQuery baseQuery, org.eclipse.persistence.internal.sessions.AbstractSession session)
prepareNestedJoins
in class ForeignReferenceMapping
protected java.lang.Object valueFromRowInternalWithJoin(org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, ObjectBuildingQuery sourceQuery, org.eclipse.persistence.internal.sessions.AbstractSession executionSession) throws DatabaseException
valueFromRowInternalWithJoin
in class CollectionMapping
DatabaseException
public void buildCopy(java.lang.Object copy, java.lang.Object original, ObjectCopyingPolicy policy)
buildCopy
in class CollectionMapping
protected java.lang.Object buildElementClone(java.lang.Object element, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, boolean isExisting)
buildElementClone
in class CollectionMapping
public void cascadePerformRemoveIfRequired(java.lang.Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, java.util.Map visitedObjects)
cascadePerformRemoveIfRequired
in class CollectionMapping
public void cascadeRegisterNewIfRequired(java.lang.Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, java.util.Map visitedObjects)
cascadeRegisterNewIfRequired
in class CollectionMapping
public 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)
cascadeDiscoverAndPersistUnregisteredNewObjects
in class CollectionMapping
public java.lang.Object clone()
clone
in class ForeignReferenceMapping
public void compareCollectionsForChange(java.lang.Object oldCollection, java.lang.Object newCollection, org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord, org.eclipse.persistence.internal.sessions.AbstractSession session)
compareCollectionsForChange
in class CollectionMapping
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 CollectionMapping
public boolean compareObjects(java.lang.Object firstObject, java.lang.Object secondObject, org.eclipse.persistence.internal.sessions.AbstractSession session)
compareObjects
in class CollectionMapping
public void convertClassNamesToClasses(java.lang.ClassLoader classLoader)
convertClassNamesToClasses
in class CollectionMapping
classLoader
- protected java.util.Vector extractKeyFromReferenceRow(org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session)
protected java.util.Vector extractPrimaryKeyFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session)
public java.lang.Object extractResultFromBatchQuery(DatabaseQuery query, org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.sessions.AbstractRecord argumentRow)
extractResultFromBatchQuery
in class ForeignReferenceMapping
public void fixRealObjectReferences(java.lang.Object object, java.util.Map objectInformation, java.util.Map processedObjects, ObjectLevelReadQuery query, RemoteSession session)
fixRealObjectReferences
in class CollectionMapping
protected ModifyQuery getDeleteQuery()
public java.util.Vector getSelectFields()
getSelectFields
in class DatabaseMapping
public java.util.Vector getSelectTables()
getSelectTables
in class DatabaseMapping
public org.eclipse.persistence.internal.helper.DatabaseField getDirectField()
public java.lang.String getDirectFieldName()
protected DataModifyQuery getInsertQuery()
public Expression getJoinCriteria(org.eclipse.persistence.internal.expressions.QueryKeyExpression exp)
getJoinCriteria
in class ForeignReferenceMapping
public java.lang.Object getObjectCorrespondingTo(java.lang.Object object, RemoteSession session, java.util.Map objectDescriptors, java.util.Map processedObjects, ObjectLevelReadQuery query)
getObjectCorrespondingTo
in class CollectionMapping
public HistoryPolicy getHistoryPolicy()
public java.lang.Class getReferenceClass()
getReferenceClass
in class ForeignReferenceMapping
public java.lang.String getReferenceClassName()
ForeignReferenceMapping
getReferenceClassName
in class ForeignReferenceMapping
public ClassDescriptor getReferenceDescriptor()
getReferenceDescriptor
in class ForeignReferenceMapping
public java.util.Vector getReferenceKeyFieldNames()
public java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> getReferenceKeyFields()
public org.eclipse.persistence.internal.helper.DatabaseTable getReferenceTable()
public java.lang.String getReferenceTableName()
public java.lang.String getReferenceTableQualifiedName()
public DatabaseMapping getRelationshipPartner()
getRelationshipPartner
in class ForeignReferenceMapping
public java.util.Vector getSourceKeyFieldNames()
public java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> getSourceKeyFields()
protected boolean hasCustomDeleteQuery()
protected boolean hasCustomInsertQuery()
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
initialize
in class CollectionMapping
DescriptorException
protected void initializeDeleteAllQuery(org.eclipse.persistence.internal.sessions.AbstractSession session)
protected void initializeDeleteQuery(org.eclipse.persistence.internal.sessions.AbstractSession session)
protected void initializeDirectField(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
protected void initializeInsertQuery(org.eclipse.persistence.internal.sessions.AbstractSession session)
protected void initializeReferenceDescriptor(org.eclipse.persistence.internal.sessions.AbstractSession session)
initializeReferenceDescriptor
in class ForeignReferenceMapping
protected void initializeReferenceKeys(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
protected void initializeReferenceTable(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
protected void initializeSelectionCriteria(org.eclipse.persistence.internal.sessions.AbstractSession session)
protected void initializeSelectionQuery(org.eclipse.persistence.internal.sessions.AbstractSession session)
initializeSelectionQuery
in class ForeignReferenceMapping
protected void initializeSelectionStatement(org.eclipse.persistence.internal.sessions.AbstractSession session)
protected void initializeSourceKeys(org.eclipse.persistence.internal.sessions.AbstractSession session)
protected void initializeSourceKeysWithDefaults(org.eclipse.persistence.internal.sessions.AbstractSession session)
public boolean isDirectCollectionMapping()
isDirectCollectionMapping
in class DatabaseMapping
public boolean isJoiningSupported()
isJoiningSupported
in class ForeignReferenceMapping
protected boolean isKeyForSourceSpecified()
public boolean isPrivateOwned()
isPrivateOwned
in class ForeignReferenceMapping
public void iterateOnRealAttributeValue(org.eclipse.persistence.internal.descriptors.DescriptorIterator iterator, java.lang.Object realAttributeValue)
iterateOnRealAttributeValue
in class CollectionMapping
public void iterateOnElement(org.eclipse.persistence.internal.descriptors.DescriptorIterator iterator, java.lang.Object element)
iterateOnElement
in class CollectionMapping
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)
mergeChangesIntoObject
in class CollectionMapping
public void mergeIntoObject(java.lang.Object target, boolean isTargetUnInitialized, java.lang.Object source, org.eclipse.persistence.internal.sessions.MergeManager mergeManager)
mergeIntoObject
in class CollectionMapping
public void performDataModificationEvent(java.lang.Object[] event, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException, DescriptorException
performDataModificationEvent
in class DatabaseMapping
DatabaseException
DescriptorException
public void postInsert(WriteObjectQuery query) throws DatabaseException
postInsert
in class DatabaseMapping
DatabaseException
public void postUpdate(WriteObjectQuery writeQuery) throws DatabaseException
postUpdate
in class DatabaseMapping
DatabaseException
protected void postUpdateWithChangeSet(WriteObjectQuery writeQuery) throws DatabaseException
DatabaseException
public void preDelete(DeleteObjectQuery query) throws DatabaseException
preDelete
in class DatabaseMapping
DatabaseException
protected void prepareTranslationRow(org.eclipse.persistence.internal.sessions.AbstractRecord translationRow, java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractSession session)
prepareTranslationRow
in class CollectionMapping
public void remoteInitialization(DistributedSession session)
remoteInitialization
in class ForeignReferenceMapping
public java.util.Map replaceValueHoldersIn(java.lang.Object object, org.eclipse.persistence.internal.sessions.remote.RemoteSessionController controller)
replaceValueHoldersIn
in class CollectionMapping
protected void setDeleteQuery(ModifyQuery query)
public void setDeleteSQLString(java.lang.String sqlString)
public void setContainerPolicy(org.eclipse.persistence.internal.queries.ContainerPolicy containerPolicy)
setContainerPolicy
in interface ContainerMapping
setContainerPolicy
in class CollectionMapping
public void setCustomDeleteQuery(ModifyQuery query)
public void setCustomInsertQuery(DataModifyQuery query)
public void setDirectField(org.eclipse.persistence.internal.helper.DatabaseField field)
public void setDirectFieldClassification(java.lang.Class fieldType)
public void setDirectFieldName(java.lang.String fieldName)
protected void setHasCustomDeleteQuery(boolean bool)
protected void setHasCustomInsertQuery(boolean bool)
protected void setInsertQuery(DataModifyQuery insertQuery)
public void setInsertSQLString(java.lang.String sqlString)
public void setReferenceClass(java.lang.Class referenceClass)
setReferenceClass
in class ForeignReferenceMapping
public void setReferenceClassName(java.lang.String referenceClassName)
ForeignReferenceMapping
setReferenceClassName
in class ForeignReferenceMapping
public void setReferenceKeyFieldName(java.lang.String fieldName)
public void setReferenceKeyFieldNames(java.util.Vector fieldNames)
public void setReferenceKeyFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> aVector)
public void setReferenceTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
public void setReferenceTableName(java.lang.String tableName)
protected void setSelectionQueryContainerPolicy(org.eclipse.persistence.internal.queries.ContainerPolicy containerPolicy)
setSelectionQueryContainerPolicy
in class CollectionMapping
public void setHistoryPolicy(HistoryPolicy policy)
public void setSessionName(java.lang.String name)
setSessionName
in class CollectionMapping
public void setSourceKeyFieldNames(java.util.Vector fieldNames)
public void setSourceKeyFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> sourceKeyFields)
public void calculateDeferredChanges(org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord, org.eclipse.persistence.internal.sessions.AbstractSession session)
calculateDeferredChanges
in class CollectionMapping
public void simpleAddToCollectionChangeRecord(java.lang.Object referenceKey, java.lang.Object objectToAdd, org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet, org.eclipse.persistence.internal.sessions.AbstractSession session)
simpleAddToCollectionChangeRecord
in class CollectionMapping
public void simpleRemoveFromCollectionChangeRecord(java.lang.Object referenceKey, java.lang.Object objectToRemove, org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet, org.eclipse.persistence.internal.sessions.AbstractSession session)
simpleRemoveFromCollectionChangeRecord
in class CollectionMapping
public void updateChangeRecord(java.lang.Object clone, java.lang.Object newValue, java.lang.Object oldValue, org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
updateChangeRecord
in class CollectionMapping
public void useCollectionClass(java.lang.Class concreteClass)
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 ContainerMapping
useCollectionClass
in class CollectionMapping
public void useMapClass(java.lang.Class concreteClass, java.lang.String methodName)
useMapClass
in interface ContainerMapping
useMapClass
in class CollectionMapping
DirectMapMapping
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.sessions.AbstractSession session) throws DatabaseException
valueFromRow
in class ForeignReferenceMapping
DatabaseException
public boolean verifyDelete(java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
verifyDelete
in class CollectionMapping
DatabaseException
public void addToCollectionChangeRecord(java.lang.Object newKey, java.lang.Object newValue, org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
addToCollectionChangeRecord
in class CollectionMapping
public boolean isCascadedLockingSupported()
isCascadedLockingSupported
in class DatabaseMapping
public boolean isChangeTrackingSupported(Project project)
isChangeTrackingSupported
in class CollectionMapping
public void removeFromCollectionChangeRecord(java.lang.Object newKey, java.lang.Object newValue, org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
removeFromCollectionChangeRecord
in class CollectionMapping
|
EclipseLink1.0 - 20080707 API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |