Class CopyKeyFieldsToObjectId

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

public class CopyKeyFieldsToObjectId extends ClassMethod
Method to generate the method "dnCopyKeyFieldsToObjectId" using ASM. For datastore/nondurable identity
 public void dnCopyKeyFieldsToObjectId(Object oid)
 {
 }
 
and for SingleFieldIdentity
 public void dnCopyKeyFieldsToObjectId(Object oid)
 {
     throw new JDOFatalInternalException("It's illegal to call ...");
 }
 
and for user-supplied app identity
 public void dnCopyKeyFieldsToObjectId(Object oid)
 {
     if (!(oid instanceof UserPrimaryKey))
         throw new ClassCastException("key class is not mydomain.UserPrimaryKey or null");
     UserPrimaryKey o = (UserPrimaryKey) oid;
     o.zzz1 = zzz1;
     o.zzz2 = zzz2;
 }
 
and for Compound Identity
 public void dnCopyKeyFieldsToObjectId(Object oid)
 {
     if (!(oid instanceof UserPrimaryKey))
         throw new ClassCastException("key class is not mydomain.UserPrimaryKey or null");
     UserPrimaryKey o = (UserPrimaryKey) oid;
     o.zzz1 = zzz1;
     o.zzz2 = (ZZZ2.Key) JDOHelper.getObjectId(zzz2);
 }
 
Version:
$Revision: 1.16 $
  • Constructor Details

    • CopyKeyFieldsToObjectId

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