public abstract class DatabaseMapping extends CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField> implements java.lang.Cloneable, java.io.Serializable
Purpose: Defines how an attribute of an object maps to and from the database
Responsibilities:
Modifier and Type | Class and Description |
---|---|
static class |
DatabaseMapping.WriteType |
Modifier and Type | Field and Description |
---|---|
protected AttributeAccessor |
attributeAccessor
Wrapper to store the reference objects.
|
protected java.lang.String |
attributeName
PERF: Cache the mappings attribute name.
|
protected DatabaseMapping |
derivedIdMapping
The id mapping this mapping derives.
|
protected boolean |
derivesId
Used by the CMP3Policy to see if this mapping should be used in
processing pk classes for find methods
|
protected ClassDescriptor |
descriptor
ClassDescriptor to which this mapping belongs to
|
protected java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
fields
Fields associated with the mappings are cached
|
protected boolean |
isCacheable |
protected java.lang.Boolean |
isInSopObject
Irrelevant (and not set) unless descriptor has SerializedObjectPolicy (SOP).
|
protected boolean |
isJPAId |
protected java.lang.Boolean |
isLazy
Specifies whether this mapping is lazy, this means not included in the default fetch group.
|
protected boolean |
isMapKeyMapping
Records if this mapping is being used as a MapKeyMapping.
|
protected boolean |
isOptional
Specifies whether this mapping is optional (i.e. field may be null).
|
protected boolean |
isPrimaryKeyMapping
PERF: Used as a quick check to see if this mapping is a primary key mapping,
set by the object builder during initialization.
|
protected boolean |
isReadOnly
Makes this mapping read only.
|
protected boolean |
isRemotelyInitialized
It is needed only in remote initialization and mapping is in parent descriptor
|
protected java.lang.String |
mapsIdValue
A mapsId value.
|
protected static java.util.Vector |
NO_FIELDS
Used to reduce memory for mappings with no fields.
|
protected static java.lang.Integer |
NO_WEIGHT
Used to share integer instance to reduce memory.
|
protected java.util.Map |
properties
Allow user defined properties.
|
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
unconvertedProperties
Allow the user to defined un-converted properties which will be initialized at runtime.
|
protected java.lang.Integer |
weight
This is a TopLink defined attribute that allows us to sort the mappings
|
protected static java.lang.Integer |
WEIGHT_AGGREGATE |
protected static java.lang.Integer |
WEIGHT_DIRECT |
protected static java.lang.Integer |
WEIGHT_TO_ONE |
protected static java.lang.Integer |
WEIGHT_TRANSFORM |
Constructor and Description |
---|
DatabaseMapping()
PUBLIC:
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addUnconvertedProperty(java.lang.String propertyName,
java.lang.String propertyValue,
java.lang.String propertyType)
PUBLIC:
Add an unconverted property (to be initialiazed at runtime)
|
abstract void |
buildBackupClone(java.lang.Object clone,
java.lang.Object backup,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork)
INTERNAL:
Clone the attribute from the clone and assign it to the backup.
|
java.lang.Object |
buildBackupCloneForPartObject(java.lang.Object attributeValue,
java.lang.Object clone,
java.lang.Object backup,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork)
INTERNAL:
Require for cloning, the part must be cloned.
|
org.eclipse.persistence.internal.sessions.ChangeRecord |
buildChangeRecord(java.lang.Object newValue,
org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Directly build a change record without comparison
|
abstract void |
buildClone(java.lang.Object original,
org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey,
java.lang.Object clone,
java.lang.Integer refreshCascade,
org.eclipse.persistence.internal.sessions.AbstractSession cloningSession)
INTERNAL:
Clone the attribute from the original and assign it to the clone.
|
java.lang.Object |
buildCloneForPartObject(java.lang.Object attributeValue,
java.lang.Object original,
org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey,
java.lang.Object clone,
org.eclipse.persistence.internal.sessions.AbstractSession cloningSession,
java.lang.Integer refreshCascade,
boolean isExisting,
boolean isFromSharedCache)
INTERNAL:
Require for cloning, the part must be cloned.
|
abstract void |
buildCloneFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
java.lang.Object clone,
org.eclipse.persistence.internal.identitymaps.CacheKey sharedCacheKey,
ObjectBuildingQuery sourceQuery,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork,
org.eclipse.persistence.internal.sessions.AbstractSession executionSession)
INTERNAL:
A combination of readFromRowIntoObject and buildClone.
|
java.lang.Object |
buildContainerClone(java.lang.Object attributeValue,
org.eclipse.persistence.internal.sessions.AbstractSession cloningSession)
INTERNAL:
Performs a first level clone of the attribute.
|
void |
buildCopy(java.lang.Object copy,
java.lang.Object original,
CopyGroup group)
INTERNAL:
Copy of the attribute of the object.
|
Expression |
buildExpression(java.lang.Object queryObject,
QueryByExamplePolicy policy,
Expression expressionBuilder,
java.util.Map processedObjects,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
In case Query By Example is used, this method builds and returns an expression that
corresponds to a single attribue and it's value.
|
Expression |
buildObjectJoinExpression(Expression base,
Expression argument,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Used to allow object level comparisons.
|
Expression |
buildObjectJoinExpression(Expression base,
java.lang.Object value,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Used to allow object level comparisons.
|
void |
buildShallowOriginalFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
java.lang.Object original,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectBuildingQuery query,
org.eclipse.persistence.internal.sessions.AbstractSession executionSession)
INTERNAL:
Builds a shallow original object.
|
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,
java.util.Set cascadeErrors)
INTERNAL:
Cascade discover and persist new objects during commit.
|
abstract void |
cascadePerformRemoveIfRequired(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
|
void |
cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Map visitedObjects)
INTERNAL:
Cascade removal of orphaned private owned objects from the UnitOfWorkChangeSet
|
abstract 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:
Clones itself.
|
protected java.util.Vector |
cloneFields(java.util.Vector fields)
INTERNAL:
Helper method to clone vector of fields (used in aggregate initialization cloning).
|
protected java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
collectFields()
This method must be overwritten in the subclasses to return a vector of all the
fields this mapping represents.
|
void |
collectQueryParameters(java.util.Set<org.eclipse.persistence.internal.helper.DatabaseField> record)
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
|
abstract 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 was created in VisualAge.
|
abstract 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 void |
convertConverterClassNamesToClasses(Converter converter,
java.lang.ClassLoader classLoader)
Convenience method to ensure converters have an opportunity to convert
any class names to classes during project setup.
|
org.eclipse.persistence.internal.indirection.DatabaseValueHolder |
createCloneValueHolder(ValueHolderInterface attributeValue,
java.lang.Object original,
java.lang.Object clone,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession cloningSession,
boolean buildDirectlyFromRow)
INTERNAL:
Builder the unit of work value holder.
|
boolean |
derivesId()
ADVANCED:
Returns true if the mapping references a JPA ID attribute for the CMP3Policy and JPA ID classes.
|
void |
earlyPreDelete(DeleteObjectQuery query,
java.lang.Object object)
INTERNAL:
This method is called to update collection tables prior to commit.
|
protected java.util.List<Expression> |
extractNestedExpressions(java.util.List<Expression> expressions,
ExpressionBuilder newRoot,
boolean rootExpressionsAllowed)
INTERNAL:
Extract the nested attribute expressions that apply to this mapping.
|
abstract void |
fixObjectReferences(java.lang.Object object,
java.util.Map objectDescriptors,
java.util.Map processedObjects,
ObjectLevelReadQuery query,
DistributedSession session)
INTERNAL:
An object has been serialized from the server to the client.
|
void |
fixRealObjectReferences(java.lang.Object object,
java.util.Map objectInformation,
java.util.Map processedObjects,
ObjectLevelReadQuery query,
DistributedSession 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.
|
AttributeAccessor |
getAttributeAccessor()
ADVANCED:
Return the attributeAccessor.
|
java.lang.Class |
getAttributeClassification()
PUBLIC:
The classification type for the attribute this mapping represents
|
java.lang.String |
getAttributeName()
PUBLIC:
Return the name of the attribute set in the mapping.
|
java.lang.Object |
getAttributeValueFromObject(java.lang.Object object)
INTERNAL:
Return the value of an attribute which this mapping represents for an object.
|
org.eclipse.persistence.internal.queries.ContainerPolicy |
getContainerPolicy()
INTERNAL:
Return the mapping's containerPolicy.
|
DatabaseMapping |
getDerivedIdMapping()
ADVANCED:
Set the maps id value
|
ClassDescriptor |
getDescriptor()
INTERNAL:
Return the descriptor to which this mapping belongs
|
org.eclipse.persistence.internal.helper.DatabaseField |
getField()
INTERNAL:
Return the field associated with this mapping if there is exactly one.
|
java.lang.Class |
getFieldClassification(org.eclipse.persistence.internal.helper.DatabaseField fieldToClassify)
INTERNAL:
Return the classification for the field contained in the mapping.
|
java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
getFields()
INTERNAL:
Returns a vector of all the fields this mapping represents.
|
java.lang.String |
getGetMethodName()
PUBLIC:
This method is invoked reflectively on the reference object to return the value of the
attribute in the object.
|
java.lang.String |
getMapsIdValue()
ADVANCED:
Set the mapped by id value
|
java.lang.Object |
getObjectCorrespondingTo(java.lang.Object object,
DistributedSession session,
java.util.Map objectDescriptors,
java.util.Map processedObjects,
ObjectLevelReadQuery query)
INTERNAL:
return the object on the client corresponding to the specified object.
|
java.util.List<Expression> |
getOrderByNormalizedExpressions(Expression base)
INTERNAL:
Return the list of fields that should be used if this mapping is used in an order by.
|
java.util.Map |
getProperties()
INTERNAL:
used as a temporary store for custom SDK usage
|
java.lang.Object |
getProperty(java.lang.Object property)
ADVANCED:
Allow user defined properties.
|
java.lang.Object |
getRealAttributeValueFromAttribute(java.lang.Object attributeValue,
java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Return the value of an attribute unwrapping value holders if required.
|
java.lang.Object |
getRealAttributeValueFromObject(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Return the value of an attribute unwrapping value holders if required.
|
java.lang.Object |
getRealCollectionAttributeValueFromObject(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Return the value of an attribute, unwrapping value holders if necessary.
|
ClassDescriptor |
getReferenceDescriptor()
PUBLIC:
Return the referenceDescriptor.
|
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.lang.String |
getSetMethodName()
PUBLIC:
This method is invoked reflectively on the reference object to set the value of the
attribute in the object.
|
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getUnconvertedProperties()
INTERNAL:
Used to store un-converted properties, which are subsequenctly converted
at runtime (through the convertClassNamesToClasses method.
|
java.lang.Object |
getValueFromRemoteValueHolder(org.eclipse.persistence.internal.sessions.remote.RemoteValueHolder remoteValueHolder)
INTERNAL:
extract and return the appropriate value from the
specified remote value holder
|
java.lang.Integer |
getWeight()
INTERNAL:
Return the weight of the mapping, used to sort mappings to ensure that
DirectToField Mappings get merged first
|
boolean |
hasConstraintDependency()
INTERNAL:
The returns if the mapping has any constraint dependencies, such as foreign keys and join tables.
|
boolean |
hasDependency()
INTERNAL:
Return if the mapping has any ownership or other dependency over its target object(s).
|
boolean |
hasInverseConstraintDependency()
INTERNAL:
The returns if the mapping has any inverse constraint dependencies, such as foreign keys and join tables.
|
boolean |
hasMapsIdValue()
ADVANCED:
Set the mapped by id value
|
boolean |
hasNestedIdentityReference()
INTERNAL:
Indicates whether the mapping (or at least one of its nested mappings, at any nested depth)
references an entity.
|
protected boolean |
hasRootExpressionThatShouldUseOuterJoin(java.util.List expressions)
INTERNAL:
If there is root expression in the list then indicates whether it shouldUseOuterJoin,
otherwise return false.
|
boolean |
hasUnconvertedProperties()
INTERNAL:
Used to store un-converted properties, which are subsequenctly converted
at runtime (through the convertClassNamesToClasses method.
|
void |
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Allow for initialization of properties and validation.
|
void |
instantiateAttribute(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Trigger the instantiation of the attribute if lazy.
|
boolean |
isAbstractColumnMapping()
INTERNAL:
|
boolean |
isAbstractCompositeCollectionMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isAbstractCompositeDirectCollectionMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isAbstractCompositeObjectMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isAbstractDirectMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isAggregateCollectionMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isAggregateMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isAggregateObjectMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isAttributeValueFromObjectInstantiated(java.lang.Object object)
INTERNAL:
Return whether the specified object is instantiated.
|
boolean |
isCacheable()
Used to signal that this mapping references a protected/isolated entity and requires
special merge/object building behaviour.
|
boolean |
isCandidateForPrivateOwnedRemoval()
INTERNAL:
Returns true if the mapping should be added to the UnitOfWork's list of private owned
objects for private owned orphan removal.
|
boolean |
isCascadedLockingSupported()
INTERNAL:
Used when determining if a mapping supports cascaded version optimistic
locking.
|
boolean |
isChangeTrackingSupported(Project project)
INTERNAL:
Return if this mapping supports change tracking.
|
boolean |
isCloningRequired()
INTERNAL:
Return if this mapping requires its attribute value to be cloned.
|
boolean |
isCollectionMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isDatabaseMapping()
INTERNAL:
|
boolean |
isDirectCollectionMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isDirectMapMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isDirectToFieldMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isDirectToXMLTypeMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isEISMapping()
INTERNAL:
All EIS mappings should implement this method to return true.
|
boolean |
isElementCollectionMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isForeignReferenceMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isInAndOutSopObject()
INTERNAL:
Indicates whether the mapping is both in and out of SerializedObjectPolicy's sopObject.
|
boolean |
isInOnlySopObject()
INTERNAL:
Indicates whether the mapping is in SerializedObjectPolicy's sopObject and not out of it.
|
boolean |
isInSopObject()
INTERNAL:
Indicates whether the mapping is in SerializedObjectPolicy's sopObject.
|
boolean |
isJoiningSupported()
INTERNAL:
Return if this mapping support joining.
|
boolean |
isJPAId()
INTERNAL:
Flags that this mapping is part of a JPA id mapping.
|
boolean |
isLazy()
Return if this mapping is lazy.
|
boolean |
isLockableMapping()
INTERNAL:
Return whether this mapping should be traversed when we are locking
|
boolean |
isManyToManyMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isManyToOneMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isMapKeyMapping() |
boolean |
isMultitenantPrimaryKeyMapping()
INTERNAL
|
boolean |
isNestedTableMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isObjectReferenceMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isOneToManyMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isOneToOneMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isOptional()
Return whether the value of this mapping is optional (that is, can be
null).
|
boolean |
isOutOnlySopObject()
INTERNAL:
Indicates whether the mapping is out of SerializedObjectPolicy's sopObject and not in it.
|
boolean |
isOutSopObject()
INTERNAL:
Indicates whether the mapping is out of SerializedObjectPolicy's sopObject.
|
boolean |
isOwned()
Returns true if this mapping is owned by the parent descriptor.
|
boolean |
isPrimaryKeyMapping()
INTERNAL:
Set by the Object builder during initialization returns true if this mapping
is used as a primary key mapping.
|
boolean |
isPrivateOwned()
INTERNAL:
Return if the mapping has ownership over its target object(s).
|
boolean |
isReadOnly()
INTERNAL:
Returns true if mapping is read only else false.
|
boolean |
isReferenceMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isRelationalMapping()
INTERNAL:
All relational mappings should implement this method to return true.
|
protected boolean |
isRemotelyInitialized() |
boolean |
isStructureMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isTransformationMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isUnidirectionalOneToManyMapping()
INTERNAL:
|
boolean |
isUsingMethodAccess()
PUBLIC:
Return if method access is used.
|
boolean |
isVariableOneToOneMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
boolean |
isWriteOnly()
INTERNAL:
Some mappings support no attribute (transformation and multitenant primary key).
|
boolean |
isXMLMapping()
INTERNAL:
All relational mappings should implement this method to return true.
|
abstract void |
iterate(org.eclipse.persistence.internal.descriptors.DescriptorIterator iterator)
INTERNAL:
Iterate on the appropriate attribute value.
|
void |
iterateOnRealAttributeValue(org.eclipse.persistence.internal.descriptors.DescriptorIterator iterator,
java.lang.Object realAttributeValue)
INTERNAL:
Iterate on the attribute value.
|
void |
load(java.lang.Object object,
org.eclipse.persistence.internal.queries.AttributeItem item,
org.eclipse.persistence.internal.sessions.AbstractSession session,
boolean fromFetchGroup)
Force instantiation of the load group.
|
void |
loadAll(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.helper.IdentityHashSet loaded)
Force instantiation of all indirections.
|
abstract 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.
|
abstract 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 |
performDataModificationEvent(java.lang.Object[] event,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Perform the commit event.
|
void |
postCalculateChanges(ChangeRecord changeRecord,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL:
Overridden by mappings that require additional processing of the change record after the record has been calculated.
|
void |
postCalculateChangesOnDeleted(java.lang.Object deletedObject,
org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet uowChangeSet,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL:
Overridden by mappings that require objects to be deleted contribute to change set creation.
|
void |
postDelete(DeleteObjectQuery query)
INTERNAL:
A subclass should implement this method if it wants different behavior.
|
void |
postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Allow for initialization of properties and validation that have dependecies no the descriptor
being initialized.
|
void |
postInsert(WriteObjectQuery query)
INTERNAL:
A subclass should implement this method if it wants different behavior.
|
void |
postUpdate(WriteObjectQuery query)
INTERNAL:
A subclass should implement this method if it wants different behavior.
|
void |
preDelete(DeleteObjectQuery query)
INTERNAL:
A subclass should implement this method if it wants different behavior.
|
void |
preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Allow for initialization of properties and validation.
|
void |
preInsert(WriteObjectQuery query)
INTERNAL:
A subclass should implement this method if it wants different behavior.
|
void |
prepareCascadeLockingPolicy()
INTERNAL:
A subclass that supports cascade version optimistic locking should
implement this method to properly prepare the locking policy for their
mapping type.
|
void |
preUpdate(WriteObjectQuery query)
INTERNAL:
A subclass should implement this method if it wants different behavior.
|
java.lang.Object |
readFromResultSetIntoObject(java.sql.ResultSet resultSet,
java.lang.Object targetObject,
ObjectBuildingQuery query,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor,
java.sql.ResultSetMetaData metaData,
int columnNumber,
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform)
INTERNAL:
Extract values directly from the result-set.
|
java.lang.Object |
readFromRowIntoObject(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
java.lang.Object targetObject,
org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey,
ObjectBuildingQuery sourceQuery,
org.eclipse.persistence.internal.sessions.AbstractSession executionSession,
boolean isTargetProtected)
INTERNAL:
Extract value from the row and set the attribute to this value in the object.
|
void |
readOnly()
PUBLIC:
To make mapping read only.
|
void |
readWrite()
PUBLIC:
The mapping can be dynamically made either readOnly or readWriteOnly.
|
void |
recordPrivateOwnedRemovals(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL:
Overridden by mappings that require objects to be deleted contribute to change set creation.
|
void |
rehashFieldDependancies(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Rehash any hashtables based on fields.
|
void |
remoteInitialization(DistributedSession session)
INTERNAL:
Once descriptors are serialized to the remote session.
|
protected void |
remotelyInitialized()
Set the mapping to be initialized for the remote session.
|
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 |
setAttributeAccessor(AttributeAccessor attributeAccessor)
ADVANCED:
Set the attributeAccessor.
|
void |
setAttributeName(java.lang.String attributeName)
PUBLIC:
Sets the name of the attribute in the mapping.
|
void |
setAttributeValueInObject(java.lang.Object object,
java.lang.Object value)
INTERNAL:
Set the value of the attribute mapped by this mapping.
|
void |
setChangeListener(java.lang.Object clone,
java.beans.PropertyChangeListener listener,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL:
Set the change listener if required.
|
void |
setDerivedIdMapping(DatabaseMapping derivedIdMapping)
ADVANCED:
Used to indicate the mapping references a JPA ID or MapsId attribute
for the CMP3Policy and JPA Id classes (as well as Embeddable Id classes).
|
void |
setDerivesId(boolean derivesId)
ADVANCED:
Used to indicate the mapping references a JPA ID or MapsId attribute
for the CMP3Policy and JPA Id classes (as well as Embeddable Id classes).
|
void |
setDescriptor(ClassDescriptor descriptor)
INTERNAL:
Set the descriptor to which this mapping belongs
|
protected void |
setFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> fields)
INTERNAL:
Set the mapping's field collection.
|
void |
setGetMethodName(java.lang.String methodName)
PUBLIC:
This method is invoked reflectively on the reference object to return the value of the
attribute in the object.
|
void |
setIsCacheable(boolean cacheable)
Used to signal that this mapping references a protected/isolated entity and requires
special merge/object building behaviour.
|
void |
setIsInAndOutSopObject()
INTERNAL:
Set the mapping is both in and out of SerializedObjectPolicy's sopObject
|
void |
setIsInSopObject()
INTERNAL:
Set the mapping is in SerializedObjectPolicy's sopObject.
|
void |
setIsJPAId()
INTERNAL:
Flags that this mapping is part of a JPA id mapping.
|
void |
setIsLazy(boolean isLazy)
Set if this mapping is lazy.
|
void |
setIsMapKeyMapping(boolean isMapKeyMapping) |
void |
setIsOptional(boolean isOptional)
Used to specify whether the value of this mapping may be null.
|
void |
setIsOutSopObject()
INTERNAL:
Set the mapping is out of SerializedObjectPolicy's sopObject.
|
void |
setIsPrimaryKeyMapping(boolean isPrimaryKeyMapping)
INTERNAL:
Set by the Object builder during initialization returns true if this mapping
is used as a primary key mapping.
|
void |
setIsReadOnly(boolean aBoolean)
PUBLIC:
Set this mapping to be read only.
|
void |
setMapsIdValue(java.lang.String mapsIdValue)
ADVANCED:
Set the maps id value
|
void |
setProperties(java.util.Map properties)
INTERNAL:
Allow user defined properties.
|
void |
setProperty(java.lang.Object property,
java.lang.Object value)
ADVANCED:
Allow user defined properties.
|
void |
setRealAttributeValueInObject(java.lang.Object object,
java.lang.Object value)
INTERNAL:
Set the value of the attribute mapped by this mapping,
placing it inside a value holder if necessary.
|
void |
setSetMethodName(java.lang.String methodName)
PUBLIC:
Set the methodName used to set the value for the mapping's attribute into the object.
|
void |
setWeight(java.lang.Integer newWeight)
ADVANCED:
Set the weight of the mapping, used to sort mappings
DirectToField Mappings have a default weight of 1 while all other Mappings have a
default weight of MAXINT.
|
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 add an object to a collection once the changeSet is applied.
|
void |
simpleRemoveFromCollectionChangeRecord(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 remove an object from a collection once the changeSet is applied.
|
java.lang.String |
toString()
INTERNAL:
Print the mapping attribute name, this is used in error messages.
|
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 the change record with the new value.
|
void |
updateCollectionChangeRecord(CollectionChangeEvent event,
org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL:
Add or removes a new value and its change set to the collection change record based on the event passed in.
|
void |
validateAfterInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Allow for subclasses to perform validation.
|
void |
validateBeforeInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Allow for subclasses to perform validation.
|
java.lang.Object |
valueFromObject(java.lang.Object anObject,
org.eclipse.persistence.internal.helper.DatabaseField field,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
A subclass should extract the value from the object for the field, if it does not map the field then
it should return null.
|
java.lang.Object |
valueFromResultSet(java.sql.ResultSet resultSet,
ObjectBuildingQuery query,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor,
java.sql.ResultSetMetaData metaData,
int columnNumber,
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform)
INTERNAL:
Returns the value for the mapping directly from the result-set.
|
java.lang.Object |
valueFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectBuildingQuery query,
boolean isTargetProtected)
INTERNAL:
A subclass should implement this method if it wants different behavior.
|
java.lang.Object |
valueFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectBuildingQuery query,
org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey,
org.eclipse.persistence.internal.sessions.AbstractSession session,
boolean isTargetProtected,
java.lang.Boolean[] wasCacheUsed)
INTERNAL:
A subclass should implement this method if it wants different behavior.
|
boolean |
verifyDelete(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
To verify if the specified object has been deleted or not.
|
void |
writeFromAttributeIntoRow(java.lang.Object attribute,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
A subclass should implement this method if it wants different behavior.
|
void |
writeFromObjectIntoRow(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
INTERNAL:
A subclass should implement this method if it wants different behavior.
|
void |
writeFromObjectIntoRowForShallowInsert(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
This row is built for shallow insert which happens in case of bidirectional inserts.
|
void |
writeFromObjectIntoRowForShallowInsertWithChangeRecord(org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
This row is built for shallow insert which happens in case of bidirectional inserts.
|
void |
writeFromObjectIntoRowForUpdate(WriteObjectQuery query,
org.eclipse.persistence.internal.sessions.AbstractRecord row)
INTERNAL:
|
void |
writeFromObjectIntoRowForUpdateAfterShallowInsert(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL:
This row is built for update after shallow insert which happens in case of bidirectional inserts.
|
void |
writeFromObjectIntoRowForUpdateBeforeShallowDelete(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL:
This row is built for update before shallow delete which happens in case of bidirectional inserts.
|
void |
writeFromObjectIntoRowForWhereClause(ObjectLevelModifyQuery query,
org.eclipse.persistence.internal.sessions.AbstractRecord row)
INTERNAL:
A subclass should implement this method if it wants different behavior.
|
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:
A subclass should implement this method if it wants different behavior.
|
void |
writeInsertFieldsIntoRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Write fields needed for insert into the template for with null values.
|
void |
writeUpdateFieldsIntoRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Write fields needed for update into the template for with null values.
|
protected static final java.util.Vector NO_FIELDS
protected static final java.lang.Integer NO_WEIGHT
protected static final java.lang.Integer WEIGHT_DIRECT
protected static final java.lang.Integer WEIGHT_TRANSFORM
protected static final java.lang.Integer WEIGHT_AGGREGATE
protected static final java.lang.Integer WEIGHT_TO_ONE
protected ClassDescriptor descriptor
protected AttributeAccessor attributeAccessor
protected boolean isReadOnly
protected boolean isOptional
protected java.lang.Boolean isLazy
protected java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> fields
protected boolean isRemotelyInitialized
protected java.lang.Integer weight
protected java.util.Map properties
protected java.util.Map<java.lang.String,java.util.List<java.lang.String>> unconvertedProperties
protected boolean derivesId
protected boolean isJPAId
protected java.lang.String mapsIdValue
protected DatabaseMapping derivedIdMapping
protected boolean isPrimaryKeyMapping
protected java.lang.String attributeName
protected boolean isMapKeyMapping
protected boolean isCacheable
protected java.lang.Boolean isInSopObject
public void addUnconvertedProperty(java.lang.String propertyName, java.lang.String propertyValue, java.lang.String propertyType)
public abstract void buildBackupClone(java.lang.Object clone, java.lang.Object backup, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork)
public java.lang.Object buildBackupCloneForPartObject(java.lang.Object attributeValue, java.lang.Object clone, java.lang.Object backup, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork)
public abstract void buildClone(java.lang.Object original, org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey, java.lang.Object clone, java.lang.Integer refreshCascade, org.eclipse.persistence.internal.sessions.AbstractSession cloningSession)
public abstract void buildCloneFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, java.lang.Object clone, org.eclipse.persistence.internal.identitymaps.CacheKey sharedCacheKey, ObjectBuildingQuery sourceQuery, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, org.eclipse.persistence.internal.sessions.AbstractSession executionSession)
buildClone assumes the attribute value exists on the original and can simply be copied.
readFromRowIntoObject assumes that one is building an original.
Both of the above assumptions are false in this method, and actually attempts to do both at the same time.
Extract value from the row and set the attribute to this value in the working copy clone. In order to bypass the shared cache when in transaction a UnitOfWork must be able to populate working copies directly from the row.
public void buildShallowOriginalFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, java.lang.Object original, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, ObjectBuildingQuery query, org.eclipse.persistence.internal.sessions.AbstractSession executionSession)
public java.lang.Object buildCloneForPartObject(java.lang.Object attributeValue, java.lang.Object original, org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey, java.lang.Object clone, org.eclipse.persistence.internal.sessions.AbstractSession cloningSession, java.lang.Integer refreshCascade, boolean isExisting, boolean isFromSharedCache)
public java.lang.Object buildContainerClone(java.lang.Object attributeValue, org.eclipse.persistence.internal.sessions.AbstractSession cloningSession)
public void buildCopy(java.lang.Object copy, java.lang.Object original, CopyGroup group)
public Expression buildExpression(java.lang.Object queryObject, QueryByExamplePolicy policy, Expression expressionBuilder, java.util.Map processedObjects, org.eclipse.persistence.internal.sessions.AbstractSession session)
public Expression buildObjectJoinExpression(Expression base, java.lang.Object value, org.eclipse.persistence.internal.sessions.AbstractSession session)
public Expression buildObjectJoinExpression(Expression base, Expression argument, org.eclipse.persistence.internal.sessions.AbstractSession session)
public abstract void cascadePerformRemoveIfRequired(java.lang.Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, java.util.Map visitedObjects)
public void cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired(java.lang.Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, java.util.Map visitedObjects)
public abstract void cascadeRegisterNewIfRequired(java.lang.Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, java.util.Map visitedObjects)
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, java.util.Set cascadeErrors)
public void calculateDeferredChanges(org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord, org.eclipse.persistence.internal.sessions.AbstractSession session)
public java.lang.Object clone()
clone
in class java.lang.Object
protected java.util.Vector cloneFields(java.util.Vector fields)
protected java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> collectFields()
public void collectQueryParameters(java.util.Set<org.eclipse.persistence.internal.helper.DatabaseField> record)
public abstract 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)
public abstract boolean compareObjects(java.lang.Object firstObject, java.lang.Object secondObject, org.eclipse.persistence.internal.sessions.AbstractSession session)
public void convertClassNamesToClasses(java.lang.ClassLoader classLoader)
classLoader
- protected void convertConverterClassNamesToClasses(Converter converter, java.lang.ClassLoader classLoader)
public org.eclipse.persistence.internal.indirection.DatabaseValueHolder createCloneValueHolder(ValueHolderInterface attributeValue, java.lang.Object original, java.lang.Object clone, org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession cloningSession, boolean buildDirectlyFromRow)
buildDirectlyFromRow
- indicates that we are building the clone directly
from a row as opposed to building the original from the row, putting it in
the shared cache, and then cloning the original.public boolean derivesId()
public void earlyPreDelete(DeleteObjectQuery query, java.lang.Object object)
protected java.util.List<Expression> extractNestedExpressions(java.util.List<Expression> expressions, ExpressionBuilder newRoot, boolean rootExpressionsAllowed)
rootExpressionsAllowed
- true if newRoot itself can be one of the
expressions returnedprotected boolean hasRootExpressionThatShouldUseOuterJoin(java.util.List expressions)
public boolean hasUnconvertedProperties()
public abstract void fixObjectReferences(java.lang.Object object, java.util.Map objectDescriptors, java.util.Map processedObjects, ObjectLevelReadQuery query, DistributedSession session)
public void fixRealObjectReferences(java.lang.Object object, java.util.Map objectInformation, java.util.Map processedObjects, ObjectLevelReadQuery query, DistributedSession session)
public AttributeAccessor getAttributeAccessor()
getAttributeAccessor
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public java.lang.Class getAttributeClassification()
getAttributeClassification
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public java.lang.String getAttributeName()
getAttributeName
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public java.lang.Object getAttributeValueFromObject(java.lang.Object object) throws DescriptorException
getAttributeValueFromObject
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
DescriptorException
public org.eclipse.persistence.internal.queries.ContainerPolicy getContainerPolicy()
getContainerPolicy
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public DatabaseMapping getDerivedIdMapping()
public ClassDescriptor getDescriptor()
getDescriptor
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public org.eclipse.persistence.internal.helper.DatabaseField getField()
getField
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public java.lang.Class getFieldClassification(org.eclipse.persistence.internal.helper.DatabaseField fieldToClassify)
public java.util.Vector getSelectFields()
public java.util.Vector getSelectTables()
public java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> getFields()
getFields
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public java.util.List<Expression> getOrderByNormalizedExpressions(Expression base)
public java.lang.String getGetMethodName()
public boolean hasMapsIdValue()
public java.lang.String getMapsIdValue()
public java.lang.Object getObjectCorrespondingTo(java.lang.Object object, DistributedSession session, java.util.Map objectDescriptors, java.util.Map processedObjects, ObjectLevelReadQuery query)
public java.util.Map getProperties()
public java.lang.Object getProperty(java.lang.Object property)
public java.lang.Object getRealAttributeValueFromObject(java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public java.lang.Object getRealAttributeValueFromAttribute(java.lang.Object attributeValue, java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public void instantiateAttribute(java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractSession session)
public boolean isAttributeValueFromObjectInstantiated(java.lang.Object object)
public java.lang.Object getRealCollectionAttributeValueFromObject(java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public ClassDescriptor getReferenceDescriptor()
getReferenceDescriptor
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public DatabaseMapping getRelationshipPartner()
public java.lang.String getSetMethodName()
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getUnconvertedProperties()
public java.lang.Object getValueFromRemoteValueHolder(org.eclipse.persistence.internal.sessions.remote.RemoteValueHolder remoteValueHolder)
public java.lang.Integer getWeight()
public boolean hasConstraintDependency()
public boolean isUsingMethodAccess()
public boolean hasDependency()
public boolean hasInverseConstraintDependency()
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public boolean isAggregateCollectionMapping()
public boolean isAggregateMapping()
public boolean isAggregateObjectMapping()
public boolean isCollectionMapping()
isCollectionMapping
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public boolean isDatabaseMapping()
public boolean isDirectCollectionMapping()
public boolean isDirectMapMapping()
public boolean isDirectToFieldMapping()
isDirectToFieldMapping
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public boolean isElementCollectionMapping()
public boolean isForeignReferenceMapping()
public boolean isLockableMapping()
public boolean isManyToManyMapping()
public boolean isMapKeyMapping()
public boolean isMultitenantPrimaryKeyMapping()
public void setIsMapKeyMapping(boolean isMapKeyMapping)
isMapKeyMapping
- the isMapKeyMapping to setpublic boolean isNestedTableMapping()
public boolean isObjectReferenceMapping()
public boolean isOneToManyMapping()
public boolean isOneToOneMapping()
public boolean isManyToOneMapping()
public boolean isOptional()
public boolean isOwned()
public boolean isJPAId()
public boolean isLazy()
For relationship mappings this should normally be the same value as indirection, however for eager relationships this can be used with indirection to allow indirection locking and change tracking, but still always force instantiation.
public void setIsJPAId()
public void setIsLazy(boolean isLazy)
public boolean isEISMapping()
public boolean isRelationalMapping()
public boolean isXMLMapping()
public boolean isAbstractDirectMapping()
isAbstractDirectMapping
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public boolean isAbstractColumnMapping()
public boolean isAbstractCompositeDirectCollectionMapping()
isAbstractCompositeDirectCollectionMapping
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public boolean isAbstractCompositeObjectMapping()
isAbstractCompositeObjectMapping
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public boolean isAbstractCompositeCollectionMapping()
isAbstractCompositeCollectionMapping
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public boolean isJoiningSupported()
public boolean isCloningRequired()
public boolean isPrimaryKeyMapping()
public boolean isCandidateForPrivateOwnedRemoval()
public boolean isCascadedLockingSupported()
public boolean isChangeTrackingSupported(Project project)
public boolean isPrivateOwned()
public boolean isCacheable()
public void setIsCacheable(boolean cacheable)
public boolean isReadOnly()
isReadOnly
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public boolean isReferenceMapping()
isReferenceMapping
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
protected boolean isRemotelyInitialized()
public boolean isStructureMapping()
public boolean isTransformationMapping()
isTransformationMapping
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public boolean isUnidirectionalOneToManyMapping()
public boolean isVariableOneToOneMapping()
public boolean isDirectToXMLTypeMapping()
public boolean isWriteOnly()
isWriteOnly
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public abstract void iterate(org.eclipse.persistence.internal.descriptors.DescriptorIterator iterator)
public void iterateOnRealAttributeValue(org.eclipse.persistence.internal.descriptors.DescriptorIterator iterator, java.lang.Object realAttributeValue)
public void load(java.lang.Object object, org.eclipse.persistence.internal.queries.AttributeItem item, org.eclipse.persistence.internal.sessions.AbstractSession session, boolean fromFetchGroup)
public void loadAll(java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.helper.IdentityHashSet loaded)
public abstract 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)
public abstract 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)
public void performDataModificationEvent(java.lang.Object[] event, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException, DescriptorException
DatabaseException
DescriptorException
public void postDelete(DeleteObjectQuery query) throws DatabaseException
DatabaseException
public void postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public void postInsert(WriteObjectQuery query) throws DatabaseException
DatabaseException
public void postUpdate(WriteObjectQuery query) throws DatabaseException
DatabaseException
public void preDelete(DeleteObjectQuery query) throws DatabaseException
DatabaseException
public void preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public void preInsert(WriteObjectQuery query) throws DatabaseException
DatabaseException
public void prepareCascadeLockingPolicy()
public void preUpdate(WriteObjectQuery query) throws DatabaseException
DatabaseException
public java.lang.Object readFromRowIntoObject(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, java.lang.Object targetObject, org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey, ObjectBuildingQuery sourceQuery, org.eclipse.persistence.internal.sessions.AbstractSession executionSession, boolean isTargetProtected) throws DatabaseException
DatabaseException
public java.lang.Object readFromResultSetIntoObject(java.sql.ResultSet resultSet, java.lang.Object targetObject, ObjectBuildingQuery query, org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor, java.sql.ResultSetMetaData metaData, int columnNumber, org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform) throws java.sql.SQLException
java.sql.SQLException
public void readOnly()
public void readWrite()
public void rehashFieldDependancies(org.eclipse.persistence.internal.sessions.AbstractSession session)
public void remoteInitialization(DistributedSession session)
protected void remotelyInitialized()
public java.util.Map replaceValueHoldersIn(java.lang.Object object, org.eclipse.persistence.internal.sessions.remote.RemoteSessionController controller)
public void setAttributeAccessor(AttributeAccessor attributeAccessor)
setAttributeAccessor
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public void setAttributeName(java.lang.String attributeName)
setAttributeName
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public void setAttributeValueInObject(java.lang.Object object, java.lang.Object value) throws DescriptorException
setAttributeValueInObject
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
DescriptorException
public void setRealAttributeValueInObject(java.lang.Object object, java.lang.Object value) throws DescriptorException
DescriptorException
public void setDescriptor(ClassDescriptor descriptor)
setDescriptor
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
protected void setFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> fields)
setFields
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public void setGetMethodName(java.lang.String methodName)
public void setIsOptional(boolean isOptional)
public void setIsPrimaryKeyMapping(boolean isPrimaryKeyMapping)
public void setIsReadOnly(boolean aBoolean)
public void setMapsIdValue(java.lang.String mapsIdValue)
public void setProperties(java.util.Map properties)
public void setProperty(java.lang.Object property, java.lang.Object value)
public void setSetMethodName(java.lang.String methodName)
public void setWeight(java.lang.Integer newWeight)
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) throws DescriptorException
DescriptorException
public void simpleRemoveFromCollectionChangeRecord(java.lang.Object referenceKey, java.lang.Object changeSetToAdd, org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public java.lang.String toString()
toString
in class java.lang.Object
public void validateAfterInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public void validateBeforeInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public java.lang.Object valueFromObject(java.lang.Object anObject, org.eclipse.persistence.internal.helper.DatabaseField field, org.eclipse.persistence.internal.sessions.AbstractSession session)
valueFromObject
in class CoreMapping<AttributeAccessor,org.eclipse.persistence.internal.sessions.AbstractSession,org.eclipse.persistence.internal.queries.ContainerPolicy,ClassDescriptor,org.eclipse.persistence.internal.helper.DatabaseField>
public java.lang.Object valueFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, ObjectBuildingQuery query, boolean isTargetProtected) throws DatabaseException
DatabaseException
public java.lang.Object valueFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, ObjectBuildingQuery query, org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey, org.eclipse.persistence.internal.sessions.AbstractSession session, boolean isTargetProtected, java.lang.Boolean[] wasCacheUsed) throws DatabaseException
DatabaseException
public boolean isInSopObject()
public boolean isInOnlySopObject()
public boolean isOutSopObject()
public boolean isOutOnlySopObject()
public boolean isInAndOutSopObject()
public void setIsInSopObject()
public void setIsOutSopObject()
public void setIsInAndOutSopObject()
public boolean hasNestedIdentityReference()
public java.lang.Object valueFromResultSet(java.sql.ResultSet resultSet, ObjectBuildingQuery query, org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor, java.sql.ResultSetMetaData metaData, int columnNumber, org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform) throws java.sql.SQLException
java.sql.SQLException
public boolean verifyDelete(java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
DatabaseException
public void writeFromAttributeIntoRow(java.lang.Object attribute, org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session)
public void writeFromObjectIntoRow(java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session, DatabaseMapping.WriteType writeType)
public void writeFromObjectIntoRowForShallowInsert(java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session)
public void writeFromObjectIntoRowForUpdateAfterShallowInsert(java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.helper.DatabaseTable table)
public void writeFromObjectIntoRowForUpdateBeforeShallowDelete(java.lang.Object object, org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.helper.DatabaseTable table)
public 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)
public void writeFromObjectIntoRowForShallowInsertWithChangeRecord(org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord, org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session)
public void writeFromObjectIntoRowForUpdate(WriteObjectQuery query, org.eclipse.persistence.internal.sessions.AbstractRecord row)
public void writeFromObjectIntoRowForWhereClause(ObjectLevelModifyQuery query, org.eclipse.persistence.internal.sessions.AbstractRecord row)
public void writeInsertFieldsIntoRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, org.eclipse.persistence.internal.sessions.AbstractSession session)
public void writeUpdateFieldsIntoRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, org.eclipse.persistence.internal.sessions.AbstractSession session)
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) throws DescriptorException
DescriptorException
public void updateCollectionChangeRecord(CollectionChangeEvent event, org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow) throws DescriptorException
DescriptorException
public void setChangeListener(java.lang.Object clone, java.beans.PropertyChangeListener listener, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
public void setDerivesId(boolean derivesId)
public void setDerivedIdMapping(DatabaseMapping derivedIdMapping)
public org.eclipse.persistence.internal.sessions.ChangeRecord buildChangeRecord(java.lang.Object newValue, org.eclipse.persistence.internal.sessions.ObjectChangeSet owner, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public void postCalculateChanges(ChangeRecord changeRecord, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
public void postCalculateChangesOnDeleted(java.lang.Object deletedObject, org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet uowChangeSet, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
public void recordPrivateOwnedRemovals(java.lang.Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)