Package org.datanucleus.enhancer.methods
Class ReplaceField
java.lang.Object
org.datanucleus.enhancer.ClassMethod
org.datanucleus.enhancer.methods.ReplaceField
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 superclass
public 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
ConstructorsConstructorDescriptionReplaceField
(ClassEnhancer enhancer, String name, int access, Object returnType, Object[] argTypes, String[] argNames) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
execute()
Method to add the contents of the class method.static ReplaceField
getInstance
(ClassEnhancer enhancer) Methods inherited from class org.datanucleus.enhancer.ClassMethod
close, equals, getAccess, getClassEnhancer, getDescriptor, getMethodAdditionMessage, getName, getNamer, hashCode, initialise, initialise
-
Constructor Details
-
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 Details
-
getInstance
-
execute
public void execute()Method to add the contents of the class method.- Specified by:
execute
in classClassMethod
-