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