Class CascadeLockingPolicy
- java.lang.Object
-
- org.eclipse.persistence.internal.descriptors.CascadeLockingPolicy
-
public class CascadeLockingPolicy extends java.lang.Object
INTERNAL:
-
-
Field Summary
Fields Modifier and Type Field Description protected ClassDescriptor
m_descriptor
protected boolean
m_hasCheckedForUnmappedFields
protected boolean
m_lookForParentMapping
protected java.util.Map<DatabaseField,DatabaseField>
m_mappedQueryKeyFields
protected java.lang.Class
m_parentClass
protected ClassDescriptor
m_parentDescriptor
protected DatabaseMapping
m_parentMapping
protected ReadObjectQuery
m_query
protected java.util.Map<DatabaseField,DatabaseField>
m_queryKeyFields
protected boolean
m_shouldHandleUnmappedFields
protected DataReadQuery
m_unmappedFieldsQuery
protected java.util.Map<DatabaseField,DatabaseField>
m_unmappedQueryKeyFields
-
Constructor Summary
Constructors Constructor Description CascadeLockingPolicy(ClassDescriptor parentDescriptor, ClassDescriptor descriptor)
INTERNAL:
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AbstractRecord
getMappedTranslationRow(java.lang.Object changedObj, UnitOfWorkImpl uow)
INTERNAL:protected ClassDescriptor
getParentDescriptorFromInheritancePolicy(java.lang.Object parentObj)
Get the descriptor that really represents this object In the case of inheritance, the object may represent a subclass of class the descriptor represents.protected DatabaseMapping
getParentMapping()
INTERNAL:protected ReadObjectQuery
getQuery()
INTERNAL:protected AbstractRecord
getUnmappedTranslationRow(java.lang.Object changedObj, UnitOfWorkImpl uow)
INTERNAL:void
initUnmappedFields(UnitOfWorkImpl uow)
INTERNAL: Identify mapped and not mapped fields (should be done once).void
initUnmappedFieldsQuery(UnitOfWorkImpl uow)
INTERNAL: This method called in case there are m_unmappedQueryKeyFields.void
lockNotifyParent(java.lang.Object obj, UnitOfWorkChangeSet changeSet, UnitOfWorkImpl uow)
INTERNAL:void
setQueryKeyFields(java.util.Map<DatabaseField,DatabaseField> queryKeyFields)
INTERNAL:void
setQueryKeyFields(java.util.Map<DatabaseField,DatabaseField> queryKeyFields, boolean lookForParentMapping)
INTERNAL:void
setShouldHandleUnmappedFields(boolean shouldHandleUnmappedFields)
INTERNAL: Indicates whether to expect unmapped fields.boolean
shouldHandleUnmappedFields()
INTERNAL:
-
-
-
Field Detail
-
m_parentClass
protected java.lang.Class m_parentClass
-
m_query
protected ReadObjectQuery m_query
-
m_descriptor
protected ClassDescriptor m_descriptor
-
m_parentDescriptor
protected ClassDescriptor m_parentDescriptor
-
m_queryKeyFields
protected java.util.Map<DatabaseField,DatabaseField> m_queryKeyFields
-
m_mappedQueryKeyFields
protected java.util.Map<DatabaseField,DatabaseField> m_mappedQueryKeyFields
-
m_unmappedQueryKeyFields
protected java.util.Map<DatabaseField,DatabaseField> m_unmappedQueryKeyFields
-
m_parentMapping
protected DatabaseMapping m_parentMapping
-
m_lookForParentMapping
protected boolean m_lookForParentMapping
-
m_shouldHandleUnmappedFields
protected boolean m_shouldHandleUnmappedFields
-
m_hasCheckedForUnmappedFields
protected boolean m_hasCheckedForUnmappedFields
-
m_unmappedFieldsQuery
protected DataReadQuery m_unmappedFieldsQuery
-
-
Constructor Detail
-
CascadeLockingPolicy
public CascadeLockingPolicy(ClassDescriptor parentDescriptor, ClassDescriptor descriptor)
INTERNAL:
-
-
Method Detail
-
getQuery
protected ReadObjectQuery getQuery()
INTERNAL:
-
getParentMapping
protected DatabaseMapping getParentMapping()
INTERNAL:
-
getParentDescriptorFromInheritancePolicy
protected ClassDescriptor getParentDescriptorFromInheritancePolicy(java.lang.Object parentObj)
Get the descriptor that really represents this object In the case of inheritance, the object may represent a subclass of class the descriptor represents. If there is no InheritancePolicy, we return our parentDescriptor If there is inheritance we will search for a descriptor that represents parentObj and return that descriptor- Parameters:
parentObj
-- Returns:
-
getMappedTranslationRow
protected AbstractRecord getMappedTranslationRow(java.lang.Object changedObj, UnitOfWorkImpl uow)
INTERNAL:
-
getUnmappedTranslationRow
protected AbstractRecord getUnmappedTranslationRow(java.lang.Object changedObj, UnitOfWorkImpl uow)
INTERNAL:
-
initUnmappedFields
public void initUnmappedFields(UnitOfWorkImpl uow)
INTERNAL: Identify mapped and not mapped fields (should be done once). The result - either two non-empty Maps m_unmappedQueryKeyFields and m_mappedQueryKeyFields, or m_unmappedQueryKeyFields == null and m_mappedQueryKeyFields == m_queryKeyFields.
-
initUnmappedFieldsQuery
public void initUnmappedFieldsQuery(UnitOfWorkImpl uow)
INTERNAL: This method called in case there are m_unmappedQueryKeyFields. It creates a query that would fetch the values for this fields from the db.
-
lockNotifyParent
public void lockNotifyParent(java.lang.Object obj, UnitOfWorkChangeSet changeSet, UnitOfWorkImpl uow)
INTERNAL:
-
setQueryKeyFields
public void setQueryKeyFields(java.util.Map<DatabaseField,DatabaseField> queryKeyFields)
INTERNAL:
-
setQueryKeyFields
public void setQueryKeyFields(java.util.Map<DatabaseField,DatabaseField> queryKeyFields, boolean lookForParentMapping)
INTERNAL:
-
setShouldHandleUnmappedFields
public void setShouldHandleUnmappedFields(boolean shouldHandleUnmappedFields)
INTERNAL: Indicates whether to expect unmapped fields. That should be set to true for UnidirectionalOneToManyMapping.
-
shouldHandleUnmappedFields
public boolean shouldHandleUnmappedFields()
INTERNAL:
-
-