- java.lang.Object
-
- org.datanucleus.enhancer.ClassMethod
-
- org.datanucleus.enhancer.methods.ReplaceField
-
public class ReplaceField extends ClassMethod
Method to generate the method "dnReplaceField" using ASM.public void dnReplaceField(int fieldIndex) { if (dnStateManager == null) throw new IllegalStateException("state manager is null"); switch (fieldIndex) { case 0: { MyClass ref = this; ref.param1 = (MyOtherClass) ref.dnStateManager.replacingObjectField(this, fieldIndex); break; } default: throw new IllegalArgumentException("out of field index :" + fieldIndex); } }or with superclasspublic void dnReplaceField(int fieldIndex) { if (dnStateManager == null) throw new IllegalStateException("state manager is null"); switch (fieldIndex - dnInheritedFieldCount) { case 0: { MyClass ref = this; ref.param1 = (MyOtherClass)ref.dnStateManager.replacingStringField(this, fieldIndex); break; } default: super.dnReplaceField(fieldIndex); } }
-
-
Field Summary
-
Fields inherited from class org.datanucleus.enhancer.ClassMethod
access, argNames, argTypes, enhancer, exceptions, methodName, returnType, visitor
-
-
Constructor Summary
Constructors Constructor Description ReplaceField(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 voidexecute()Method to add the contents of the class method.static ReplaceFieldgetInstance(ClassEnhancer enhancer)-
Methods inherited from class org.datanucleus.enhancer.ClassMethod
close, equals, getAccess, getClassEnhancer, getDescriptor, getMethodAdditionMessage, getName, getNamer, hashCode, initialise, initialise
-
-
-
-
Constructor Detail
-
ReplaceField
public ReplaceField(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 ReplaceField getInstance(ClassEnhancer enhancer)
-
execute
public void execute()
Method to add the contents of the class method.- Specified by:
executein classClassMethod
-
-