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