Class CopyKeyFieldsToObjectId2

java.lang.Object
org.datanucleus.enhancer.ClassMethod
org.datanucleus.enhancer.methods.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 Details

    • 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
  • Method Details