EclipseLink 1.0_1.0M2 API Reference - Incubation

org.eclipse.persistence.descriptors.copying
Class CloneCopyPolicy

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

public class CloneCopyPolicy
extends AbstractCopyPolicy

Purpose: Creates a clone through a clone method.

See Also:
Serialized Form

Field Summary
protected  java.lang.reflect.Method method
           
protected  java.lang.String methodName
          Allow for clone method to be specified.
protected  java.lang.reflect.Method workingCopyMethod
           
protected  java.lang.String workingCopyMethodName
           
 
Fields inherited from class org.eclipse.persistence.descriptors.copying.AbstractCopyPolicy
descriptor
 
Constructor Summary
CloneCopyPolicy()
           
 
Method Summary
 java.lang.Object buildClone(java.lang.Object domainObject, Session session)
          Clone through calling the clone method.
 boolean buildsNewInstance()
          Return false as a shallow clone is returned, not a new instance.
 java.lang.Object buildWorkingCopyClone(java.lang.Object domainObject, Session session)
          Clone through the workingCopyClone method, or if not specified the clone method.
 java.lang.Object buildWorkingCopyCloneFromRow(Record row, ObjectBuildingQuery query, java.util.Vector primaryKey, UnitOfWork uow)
          Create a new instance, unless a workingCopyClone method is specified, then build a new instance and clone it.
protected  java.lang.reflect.Method getMethod()
          Return the clone method.
 java.lang.String getMethodName()
          Return the clone method name.
protected  java.lang.reflect.Method getWorkingCopyMethod()
          Return the workingCopyClone method.
 java.lang.String getWorkingCopyMethodName()
          Return the workingCopyClone method name.
 void initialize(Session session)
          Validate and build the methods.
protected  void setMethod(java.lang.reflect.Method method)
          Set the clone method.
 void setMethodName(java.lang.String methodName)
          Set the clone method name.
protected  void setWorkingCopyMethod(java.lang.reflect.Method method)
          Set the workingCopyClone method.
 void setWorkingCopyMethodName(java.lang.String methodName)
          Set the workingCopyClone method name.
 java.lang.String toString()
           
 
Methods inherited from class org.eclipse.persistence.descriptors.copying.AbstractCopyPolicy
buildWorkingCopyCloneFromPrimaryKeyObject, buildWorkingCopyCloneFromRow, clone, getDescriptor, setDescriptor
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

methodName

protected java.lang.String methodName
Allow for clone method to be specified.


workingCopyMethodName

protected java.lang.String workingCopyMethodName

method

protected transient java.lang.reflect.Method method

workingCopyMethod

protected transient java.lang.reflect.Method workingCopyMethod
Constructor Detail

CloneCopyPolicy

public CloneCopyPolicy()
Method Detail

buildClone

public java.lang.Object buildClone(java.lang.Object domainObject,
                                   Session session)
                            throws DescriptorException
Clone through calling the clone method.

Specified by:
buildClone in interface CopyPolicy
Specified by:
buildClone in class AbstractCopyPolicy
Throws:
DescriptorException

buildWorkingCopyClone

public java.lang.Object buildWorkingCopyClone(java.lang.Object domainObject,
                                              Session session)
                                       throws DescriptorException
Clone through the workingCopyClone method, or if not specified the clone method.

Specified by:
buildWorkingCopyClone in interface CopyPolicy
Overrides:
buildWorkingCopyClone in class AbstractCopyPolicy
Throws:
DescriptorException

buildWorkingCopyCloneFromRow

public java.lang.Object buildWorkingCopyCloneFromRow(Record row,
                                                     ObjectBuildingQuery query,
                                                     java.util.Vector primaryKey,
                                                     UnitOfWork uow)
                                              throws DescriptorException
Create a new instance, unless a workingCopyClone method is specified, then build a new instance and clone it.

Specified by:
buildWorkingCopyCloneFromRow in interface CopyPolicy
Overrides:
buildWorkingCopyCloneFromRow in class AbstractCopyPolicy
Throws:
DescriptorException

getMethod

protected java.lang.reflect.Method getMethod()
Return the clone method.


getMethodName

public java.lang.String getMethodName()
Return the clone method name.


getWorkingCopyMethod

protected java.lang.reflect.Method getWorkingCopyMethod()
Return the workingCopyClone method. This is used to clone within a unit of work.


getWorkingCopyMethodName

public java.lang.String getWorkingCopyMethodName()
Return the workingCopyClone method name. This is used to clone within a unit of work.


initialize

public void initialize(Session session)
                throws DescriptorException
Validate and build the methods.

Specified by:
initialize in interface CopyPolicy
Overrides:
initialize in class AbstractCopyPolicy
Throws:
DescriptorException

setMethod

protected void setMethod(java.lang.reflect.Method method)
Set the clone method.


setMethodName

public void setMethodName(java.lang.String methodName)
Set the clone method name.


setWorkingCopyMethod

protected void setWorkingCopyMethod(java.lang.reflect.Method method)
Set the workingCopyClone method. This is used to clone within a unit of work.


setWorkingCopyMethodName

public void setWorkingCopyMethodName(java.lang.String methodName)
Set the workingCopyClone method name. This is used to clone within a unit of work.


buildsNewInstance

public boolean buildsNewInstance()
Return false as a shallow clone is returned, not a new instance.

Specified by:
buildsNewInstance in interface CopyPolicy
Specified by:
buildsNewInstance in class AbstractCopyPolicy

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

EclipseLink 1.0_1.0M2 API Reference - Incubation