Class ProvideField
java.lang.Object
org.datanucleus.enhancer.ClassMethod
org.datanucleus.enhancer.methods.ProvideField
Method to generate the method "dnProvideField" using ASM.
public void dnProvideField(int fieldIndex)
{
if (dnStateManager == null)
throw new IllegalStateException("state manager is null");
switch (fieldIndex)
{
case 0:
dnStateManager.providedObjectField(this, fieldIndex, question);
break;
default:
throw new IllegalArgumentException("out of field index :" + fieldIndex);
}
}
and with a superclass
public void dnProvideField(int fieldIndex)
{
if (dnStateManager == null)
throw new IllegalStateException("state manager is null");
switch (fieldIndex - dnInheritedFieldCount)
{
case 0:
dnStateManager.providedStringField(this, fieldIndex, extraInfo);
break;
default:
super.dnProvideField(fieldIndex);
}
}
with further minor changes when the class has no fields.-
Field Summary
Fields inherited from class ClassMethod
access, argNames, argTypes, enhancer, exceptions, methodName, returnType, visitor -
Constructor Summary
ConstructorsConstructorDescriptionProvideField(ClassEnhancer enhancer, String name, int access, Object returnType, Object[] argTypes, String[] argNames) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidexecute()Method to add the contents of the class method.static ProvideFieldgetInstance(ClassEnhancer enhancer) Methods inherited from class ClassMethod
close, equals, getAccess, getClassEnhancer, getDescriptor, getMethodAdditionMessage, getName, getNamer, hashCode, initialise, initialise
-
Constructor Details
-
ProvideField
public ProvideField(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:
executein classClassMethod
-