Package org.datanucleus.enhancer.methods
Class CopyFields
- java.lang.Object
-
- org.datanucleus.enhancer.ClassMethod
-
- org.datanucleus.enhancer.methods.CopyFields
-
public class CopyFields extends ClassMethod
Method to generate the method "dnCopyFields" using ASM.public void dnCopyFields(Object obj, int[] fieldNumbers) { if (dnStateManager == null) throw new IllegalStateException("state manager is null"); if (fieldNumbers == null) throw new IllegalStateException("fieldNumbers is null"); if (!(obj instanceof Answer)) throw new IllegalArgumentException ("object is not an object of type mydomain.MyClass"); MyClass other = (MyClass) obj; if (dnStateManager != other.dnStateManager) throw new IllegalArgumentException("state managers do not match"); int i = fieldNumbers.length - 1; if (i ≥ 0) { do dnCopyField(other, fieldNumbers[i]); while (--i ≥ 0); } }
-
-
Field Summary
-
Fields inherited from class org.datanucleus.enhancer.ClassMethod
access, argNames, argTypes, enhancer, exceptions, methodName, returnType, visitor
-
-
Constructor Summary
Constructors Constructor Description CopyFields(ClassEnhancer enhancer, String name, int access, Object returnType, Object[] argTypes, String[] argNames)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute()
Method to add the contents of the class method.static CopyFields
getInstance(ClassEnhancer enhancer)
-
Methods inherited from class org.datanucleus.enhancer.ClassMethod
close, equals, getAccess, getClassEnhancer, getDescriptor, getMethodAdditionMessage, getName, getNamer, hashCode, initialise, initialise
-
-
-
-
Constructor Detail
-
CopyFields
public CopyFields(ClassEnhancer enhancer, String name, int access, Object returnType, Object[] argTypes, String[] argNames)
Constructor.- Parameters:
enhancer
- ClassEnhancername
- Name of methodaccess
- Access typereturnType
- Return typeargTypes
- Argument typesargNames
- Argument names
-
-
Method Detail
-
getInstance
public static CopyFields getInstance(ClassEnhancer enhancer)
-
execute
public void execute()
Method to add the contents of the class method.- Specified by:
execute
in classClassMethod
-
-