Class ReplaceField

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 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);
    }
}
  • Constructor Details

    • ReplaceField

      public ReplaceField(ClassEnhancer enhancer, String name, int access, Object returnType, Object[] argTypes, String[] argNames)
      Constructor.
      Parameters:
      enhancer - ClassEnhancer
      name - Name of method
      access - Access type
      returnType - Return type
      argTypes - Argument types
      argNames - Argument names
  • Method Details