Class CopyFields

java.lang.Object
org.datanucleus.enhancer.ClassMethod
org.datanucleus.enhancer.methods.CopyFields

public class CopyFields extends ClassMethod
Method to generate the method "dnCopyFields" using ASM.
public void dnCopyFields(Object obj, int[] fieldNumbers)
{
    if (dnStateManager == null)
        throw new IllegalStateException("state manager is null");
    if (fieldNumbers == null)
        throw new IllegalStateException("fieldNumbers is null");
    if (!(obj instanceof Answer))
        throw new IllegalArgumentException
                  ("object is not an object of type mydomain.MyClass");
    MyClass other = (MyClass) obj;
    if (dnStateManager != other.dnStateManager)
        throw new IllegalArgumentException("state managers do not match");
    int i = fieldNumbers.length - 1;
    if (i ≥ 0) {
        do
            dnCopyField(other, fieldNumbers[i]);
        while (--i ≥ 0);
    }
}
  • Constructor Details

    • CopyFields

      public CopyFields(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