In the current spec section 23 (JDO reference enhancer), the mention of 
jdoGetXXX, jdoSetXXX are in relation to persistent fields, and those methods 
are static since its trivial to have a static method that sets a field of an 
instance to a value. In terms of enhancement if the user had
int getId()
{
    return id;
}
this is converted to (in general terms)
int getId()
{
    ... checks on StateManager as appropriate for the field
    return jdoGetXXX();
}
static int jdoGetXXX(Object inst)
{
    return inst.id;
}

In the case of persistent properties it is no longer trivial since the 
getXXX() for example could have significant code. If the user has
int getId()
{
    ... complicated logic for generating a value using the various fields
    return val;
}
then JPOX generates
int getId()
{
    ... checks on StateManager as appropriate for the field
    return jdoGetXXX();
}
int jdoGetXXX()
{
    ... complicated logic for generating a value using the various fields
    return val;
}

Consequently the jdoGetXXX, jdoSetXXX are no longer static. This has no 
detrimental effect on anything, just that we could have a mention in the spec 
section 23.20 to this effect.

-- 
Andy  (Java Persistent Objects - http://www.jpox.org)

Reply via email to