Package org.datanucleus.enhancer.methods
Class CopyField
java.lang.Object
org.datanucleus.enhancer.ClassMethod
org.datanucleus.enhancer.methods.CopyField
Method to generate the method "dnCopyField" using ASM.
protected final void dnCopyField(Answer obj, int index) { switch (index) { case 0: question = obj.question; break; default: throw new IllegalArgumentException("out of field index :" + index); } }or with superclass
protected final void dnCopyField(ComplexAnswer obj, int index) { switch (index - dnInheritedFieldCount) { case 0: param1 = obj.param1; break; case 1: param2 = obj.param2; break; default: super.dnCopyField(obj, index); } }and also with minor variations if the class has no fields
-
Field Summary
Fields inherited from class org.datanucleus.enhancer.ClassMethod
access, argNames, argTypes, enhancer, exceptions, methodName, returnType, visitor
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
execute()
Method to add the contents of the class method.static CopyField
getInstance
(ClassEnhancer enhancer) Methods inherited from class org.datanucleus.enhancer.ClassMethod
close, equals, getAccess, getClassEnhancer, getDescriptor, getMethodAdditionMessage, getName, getNamer, hashCode, initialise, initialise
-
Constructor Details
-
CopyField
public CopyField(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 Details
-
getInstance
-
execute
public void execute()Method to add the contents of the class method.- Specified by:
execute
in classClassMethod
-