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)