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