Class CopyKeyFieldsToObjectId2


  • public class CopyKeyFieldsToObjectId2
    extends ClassMethod
    Method to generate the method "dnCopyKeyFieldsToObjectId" using ASM. For datastore/nondurable identity
     public void dnCopyKeyFieldsToObjectId(Persistable.ObjectIdFieldSupplier objectidfieldsupplier,
            Object object)
     {
     }
     
    and for SingleFieldIdentity
     public void dnCopyKeyFieldsToObjectId(Persistable.ObjectIdFieldSupplier fs, Object oid)
     {
         throw new JDOFatalInternalException("It's illegal to call ...");
     }
     
    and for user-supplied app identity
     public void dnCopyKeyFieldsToObjectId(Persistable.ObjectIdFieldSupplier fs, Object oid)
     {
         if (fs == null)
             throw new IllegalArgumentException("ObjectIdFieldSupplier is null");
         if (oid instanceof UserPrimaryKey != true)
             throw new ClassCastException("oid is not instanceof mydomain.UserPrimaryKey");
         UserPrimaryKey o = (UserPrimaryKey) oid;
         o.zzz1 = fs.fetchYYY1Field(1);
         o.zzz2 = fs.fetchYYY2Field(2);
     }
     
    and for CompoundIdentity
     public void dnCopyKeyFieldsToObjectId(Persistable.ObjectIdFieldSupplier fs, Object oid)
     {
         if (fs == null)
             throw new IllegalArgumentException("ObjectIdFieldSupplier is null");
         if (oid instanceof UserPrimaryKey != true)
             throw new ClassCastException("oid is not instanceof mydomain.UserPrimaryKey");
         UserPrimaryKey o = (UserPrimaryKey) oid;
         o.zzz1 = fs.fetchYYYField(1);
         o.zzz2 = ((YYY2.Key)JDOHelper.getObjectId((YYY2)fs.fetchObjectField(2)));
     }
     
    • Constructor Detail

      • CopyKeyFieldsToObjectId2

        public CopyKeyFieldsToObjectId2​(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