buildBackupCloneForPartObject(java.lang.Object attributeValue,
java.lang.Object clone,
java.lang.Object backup,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork)
INTERNAL:
Used during building the backup shallow copy to copy the vector without re-registering the target objects.

buildReferencesPKList(java.lang.Object entity,
java.lang.Object attribute,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: This method will access the target relationship and create a
list of PKs of the target entities.

java.util.Collection

buildTargetInterfaces(java.lang.Class aClass,
java.util.Collection targetInterfacesCol)
INTERNAL:
Build a list of all the interfaces and super interfaces for a given class.

compareObjectsWithoutPrivateOwned(java.lang.Object firstObject,
java.lang.Object secondObject,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Compare the references of the two objects are the same, not the objects themselves.

protected boolean

compareObjectsWithPrivateOwned(java.lang.Object firstObject,
java.lang.Object secondObject,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Compare the references of the two objects are the same, and the objects themselves are the same.

fixRealObjectReferences(java.lang.Object object,
java.util.Map objectDescriptors,
java.util.Map processedObjects,
ObjectLevelReadQuery query,
RemoteSession session)
INTERNAL:
We are not using a remote valueholder
so we need to replace the reference object(s) with
the corresponding object(s) from the remote session.

internalBuildChangeRecord(java.lang.Object newValue,
org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Directly build a change record based on the newValue without comparison

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.

recordPrivateOwnedRemovals(java.lang.Object object,
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.

protected void

setForeignKeyFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> foreignKeyFields)
INTERNAL:
Set the foreign key fields associated with the mapping.

void

setIsForeignKeyRelationship(boolean isForeignKeyRelationship)
INTERNAL:
Set if the 1-1 mapping has a foreign key dependency to its target.

void

setNewValueInChangeRecord(java.lang.Object newValue,
org.eclipse.persistence.internal.sessions.ObjectReferenceChangeRecord changeRecord,
org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Set the newValue in the change record

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.

INTERNAL:
In case Query By Example is used, this method generates an expression from a attribute value pair. Since
this is a ObjectReference mapping, a recursive call is made to the buildExpressionFromExample method of
ObjectBuilder.

fixRealObjectReferences

INTERNAL:
We are not using a remote valueholder
so we need to replace the reference object(s) with
the corresponding object(s) from the remote session.
ObjectReferenceMappings need to unwrap and wrap the
reference object.

setForeignKeyFields

INTERNAL:
Set the foreign key fields associated with the mapping.
These are the fields that will be populated by the 1-1 mapping when writing.

isForeignKeyRelationship

public boolean isForeignKeyRelationship()

INTERNAL:
Return if the 1-1 mapping has a foreign key dependency to its target.
This is true if any of the foreign key fields are true foreign keys,
i.e. populated on write from the targets primary key.

update

useProxyIndirection

public void useProxyIndirection()

PUBLIC:
Set this mapping to use Proxy Indirection.
Proxy Indirection uses the Proxy and InvocationHandler features
of JDK 1.3 to provide "transparent indirection" for 1:1 relationships. In order to use Proxy
Indirection:

The target class must implement at least one public interface

The attribute on the source class must be typed as that public interface

get() and set() methods for the attribute must use the interface

With this policy, proxy objects are returned during object creation. When a message other than
toString is called on the proxy the real object data is retrieved from the database.
By default, use the target class' full list of interfaces for the proxy.

buildReferencesPKList

INTERNAL: This method will access the target relationship and create a
list of PKs of the target entities. This method is used in combination
with the CachedValueHolder to store references to PK's to be loaded from
a cache instead of a query.

buildTargetInterfaces

INTERNAL:
Build a list of all the interfaces and super interfaces for a given class.

useProxyIndirection

public void useProxyIndirection(java.lang.Class[] targetInterfaces)

PUBLIC:
Set this mapping to use Proxy Indirection.
Proxy Indirection uses the Proxy and InvocationHandler features
of JDK 1.3 to provide "transparent indirection" for 1:1 relationships. In order to use Proxy
Indirection:

The target class must implement at least one public interface

The attribute on the source class must be typed as that public interface

get() and set() methods for the attribute must use the interface

With this policy, proxy objects are returned during object creation. When a message other than
toString is called on the proxy the real object data is retrieved from the database.

Parameters:

proxyInterfaces - The interfaces that the target class implements. The attribute must be typed
as one of these interfaces.

useProxyIndirection

public void useProxyIndirection(java.lang.Class targetInterface)

PUBLIC:
Set this mapping to use Proxy Indirection.
Proxy Indirection uses the Proxy and InvocationHandler features
of JDK 1.3 to provide "transparent indirection" for 1:1 relationships. In order to use Proxy
Indirection:

The target class must implement at least one public interface

The attribute on the source class must be typed as that public interface

get() and set() methods for the attribute must use the interface

With this policy, proxy objects are returned during object creation. When a message other than
toString is called on the proxy the real object data is retrieved from the database.

Parameters:

proxyInterface - The interface that the target class implements. The attribute must be typed
as this interface.