Class AbstractCopyPolicy
- java.lang.Object
-
- org.eclipse.persistence.descriptors.copying.AbstractCopyPolicy
-
- All Implemented Interfaces:
Serializable,Cloneable,CopyPolicy
- Direct Known Subclasses:
CloneCopyPolicy,InstantiationCopyPolicy,PersistenceEntityCopyPolicy
public abstract class AbstractCopyPolicy extends 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.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AbstractCopyPolicy()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract ObjectbuildClone(Object domainObject, Session session)Return a shallow clone of the object for usage with object copying, or unit of work backup cloning.ObjectbuildWorkingCopyClone(Object domainObject, Session session)By default use the buildClone.ObjectbuildWorkingCopyCloneFromRow(Record row, ObjectBuildingQuery query, Object primaryKey, UnitOfWork uow)By default create a new instance.Objectclone()INTERNAL: Clones the CopyPolicyvoidinitialize(Session session)Do nothing by default.voidsetDescriptor(ClassDescriptor descriptor)Set the descriptor.-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.persistence.descriptors.copying.CopyPolicy
buildsNewInstance
-
-
-
-
Method Detail
-
buildClone
public abstract Object buildClone(Object domainObject, Session session) throws DescriptorException
Description copied from interface:CopyPolicyReturn a shallow clone of the object for usage with object copying, or unit of work backup cloning.- Specified by:
buildClonein interfaceCopyPolicy- Throws:
DescriptorException
-
buildWorkingCopyClone
public Object buildWorkingCopyClone(Object domainObject, Session session) throws DescriptorException
By default use the buildClone.- Specified by:
buildWorkingCopyClonein interfaceCopyPolicy- Throws:
DescriptorException
-
buildWorkingCopyCloneFromRow
public Object buildWorkingCopyCloneFromRow(Record row, ObjectBuildingQuery query, Object primaryKey, UnitOfWork uow) throws DescriptorException
By default create a new instance.- Specified by:
buildWorkingCopyCloneFromRowin interfaceCopyPolicy- Throws:
DescriptorException
-
clone
public Object clone()
INTERNAL: Clones the CopyPolicy- Specified by:
clonein interfaceCopyPolicy
-
initialize
public void initialize(Session session) throws DescriptorException
Do nothing by default.- Specified by:
initializein interfaceCopyPolicy- Throws:
DescriptorException
-
setDescriptor
public void setDescriptor(ClassDescriptor descriptor)
Set the descriptor.- Specified by:
setDescriptorin interfaceCopyPolicy
-
-