- java.lang.Object
-
- org.datanucleus.enhancer.ClassMethod
-
- org.datanucleus.enhancer.methods.CopyField
-
public class CopyField extends ClassMethod
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 superclassprotected 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
-
-
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 CopyField
getInstance(ClassEnhancer enhancer)
-
Methods inherited from class org.datanucleus.enhancer.ClassMethod
close, equals, getAccess, getClassEnhancer, getDescriptor, getMethodAdditionMessage, getName, getNamer, hashCode, initialise, initialise
-
-
-
-
Constructor Detail
-
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 Detail
-
getInstance
public static CopyField getInstance(ClassEnhancer enhancer)
-
execute
public void execute()
Method to add the contents of the class method.- Specified by:
execute
in classClassMethod
-
-