EclipseLink 2.2.0, build 'v20110202-r8913' API Reference

org.eclipse.persistence.descriptors.copying
Class AbstractCopyPolicy

java.lang.Object
  extended by org.eclipse.persistence.descriptors.copying.AbstractCopyPolicy
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, CopyPolicy
Direct Known Subclasses:
CloneCopyPolicy, InstantiationCopyPolicy, PersistenceEntityCopyPolicy

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.

See Also:
Serialized Form

Field Summary
protected  ClassDescriptor descriptor
           
 
Constructor Summary
AbstractCopyPolicy()
           
 
Method Summary
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.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.persistence.descriptors.copying.CopyPolicy
buildsNewInstance
 

Field Detail

descriptor

protected ClassDescriptor descriptor
Constructor Detail

AbstractCopyPolicy

public AbstractCopyPolicy()
Method Detail

buildClone

public abstract java.lang.Object buildClone(java.lang.Object domainObject,
                                            Session session)
                                     throws DescriptorException
Description copied from interface: CopyPolicy
Return a shallow clone of the object for usage with object copying, or unit of work backup cloning.

Specified by:
buildClone in interface CopyPolicy
Throws:
DescriptorException

buildWorkingCopyClone

public java.lang.Object buildWorkingCopyClone(java.lang.Object domainObject,
                                              Session session)
                                       throws DescriptorException
By default use the buildClone.

Specified by:
buildWorkingCopyClone in interface CopyPolicy
Throws:
DescriptorException

buildWorkingCopyCloneFromRow

public java.lang.Object buildWorkingCopyCloneFromRow(Record row,
                                                     ObjectBuildingQuery query,
                                                     java.lang.Object primaryKey,
                                                     UnitOfWork uow)
                                              throws DescriptorException
By default create a new instance.

Specified by:
buildWorkingCopyCloneFromRow in interface CopyPolicy
Throws:
DescriptorException

clone

public java.lang.Object clone()
INTERNAL: Clones the CopyPolicy

Specified by:
clone in interface CopyPolicy
Overrides:
clone in class java.lang.Object

getDescriptor

protected ClassDescriptor getDescriptor()
Return the descriptor.


initialize

public void initialize(Session session)
                throws DescriptorException
Do nothing by default.

Specified by:
initialize in interface CopyPolicy
Throws:
DescriptorException

setDescriptor

public void setDescriptor(ClassDescriptor descriptor)
Set the descriptor.

Specified by:
setDescriptor in interface CopyPolicy

EclipseLink 2.2.0, build 'v20110202-r8913' API Reference