Interface CopyPolicy
-
- All Superinterfaces:
java.lang.Cloneable,java.io.Serializable
- All Known Implementing Classes:
AbstractCopyPolicy,CloneCopyPolicy,InstantiationCopyPolicy,PersistenceEntityCopyPolicy
public interface CopyPolicy extends java.lang.Cloneable, java.io.SerializablePurpose: Allows customization of how an object is cloned. An implementer of CopyPolicy can be set on a descriptor to provide special cloning routine for how an object is cloned in a unit of work. By default the InstantiationCopyPolicy is used which creates a new instance of the class to be copied into. The CloneCopyPolicy can also be used that uses a clone method in the object to clone the object. When a clone method is used it avoid the requirement of having to copy over each of the direct attributes.
- See Also:
CloneCopyPolicy,InstantiationCopyPolicy
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.ObjectbuildClone(java.lang.Object object, Session session)Return a shallow clone of the object for usage with object copying, or unit of work backup cloning.booleanbuildsNewInstance()Return if this copy policy creates a new instance, vs a clone.java.lang.ObjectbuildWorkingCopyClone(java.lang.Object object, Session session)Return a shallow clone of the object for usage with the unit of work working copy.java.lang.ObjectbuildWorkingCopyCloneFromRow(Record row, ObjectBuildingQuery query, java.lang.Object primaryKey, UnitOfWork uow)Return an instance with the primary key set from the row, used for building a working copy during a unit of work transactional read.java.lang.Objectclone()Clone the CopyPolicy.voidinitialize(Session session)Allow for any initialization or validation required.voidsetDescriptor(ClassDescriptor descriptor)Set the descriptor.
-
-
-
Method Detail
-
buildClone
java.lang.Object buildClone(java.lang.Object object, Session session) throws DescriptorExceptionReturn a shallow clone of the object for usage with object copying, or unit of work backup cloning.- Throws:
DescriptorException
-
buildWorkingCopyClone
java.lang.Object buildWorkingCopyClone(java.lang.Object object, Session session) throws DescriptorExceptionReturn a shallow clone of the object for usage with the unit of work working copy.- Throws:
DescriptorException
-
buildWorkingCopyCloneFromRow
java.lang.Object buildWorkingCopyCloneFromRow(Record row, ObjectBuildingQuery query, java.lang.Object primaryKey, UnitOfWork uow) throws DescriptorException
Return an instance with the primary key set from the row, used for building a working copy during a unit of work transactional read.- Throws:
DescriptorException
-
clone
java.lang.Object clone()
Clone the CopyPolicy.
-
initialize
void initialize(Session session) throws DescriptorException
Allow for any initialization or validation required.- Throws:
DescriptorException
-
setDescriptor
void setDescriptor(ClassDescriptor descriptor)
Set the descriptor.
-
buildsNewInstance
boolean buildsNewInstance()
Return if this copy policy creates a new instance, vs a clone.
-
-