Class 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 Detail

      • 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