public abstract class AbstractCopyPolicy extends java.lang.Object implements CopyPolicy
Purpose: Allows customization of how an object is cloned. This class defines common behavior that allows a subclass to be used and set on a descriptor to provide a special cloning routine for how an object is cloned in a unit of work.
Modifier and Type | Field and Description |
---|---|
protected ClassDescriptor |
descriptor |
Constructor and Description |
---|
AbstractCopyPolicy() |
Modifier and Type | Method and Description |
---|---|
abstract java.lang.Object |
buildClone(java.lang.Object domainObject,
Session session)
Return a shallow clone of the object for usage with object copying, or unit of work backup cloning.
|
java.lang.Object |
buildWorkingCopyClone(java.lang.Object domainObject,
Session session)
By default use the buildClone.
|
java.lang.Object |
buildWorkingCopyCloneFromRow(Record row,
ObjectBuildingQuery query,
java.lang.Object primaryKey,
UnitOfWork uow)
By default create a new instance.
|
java.lang.Object |
clone()
INTERNAL:
Clones the CopyPolicy
|
protected ClassDescriptor |
getDescriptor()
Return the descriptor.
|
void |
initialize(Session session)
Do nothing by default.
|
void |
setDescriptor(ClassDescriptor descriptor)
Set the descriptor.
|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
buildsNewInstance
protected ClassDescriptor descriptor
public abstract java.lang.Object buildClone(java.lang.Object domainObject, Session session) throws DescriptorException
CopyPolicy
buildClone
in interface CopyPolicy
DescriptorException
public java.lang.Object buildWorkingCopyClone(java.lang.Object domainObject, Session session) throws DescriptorException
buildWorkingCopyClone
in interface CopyPolicy
DescriptorException
public java.lang.Object buildWorkingCopyCloneFromRow(Record row, ObjectBuildingQuery query, java.lang.Object primaryKey, UnitOfWork uow) throws DescriptorException
buildWorkingCopyCloneFromRow
in interface CopyPolicy
DescriptorException
public java.lang.Object clone()
clone
in interface CopyPolicy
clone
in class java.lang.Object
protected ClassDescriptor getDescriptor()
public void initialize(Session session) throws DescriptorException
initialize
in interface CopyPolicy
DescriptorException
public void setDescriptor(ClassDescriptor descriptor)
setDescriptor
in interface CopyPolicy