protected void initialiseFieldsList()
{
if (cmd.getPersistenceCapableSuperclass() == null)
{
// Root persistent class fields
fieldsToAdd.add(new ClassField(this, FN_StateManager, Constants.ACC_PROTECTED | Constants.ACC_TRANSIENT, OT_StateManager));
fieldsToAdd.add(new ClassField(this, FN_Flag, Constants.ACC_PROTECTED | Constants.ACC_TRANSIENT, OT_Flag));
}
if (requiresDetachable())
{
// Detachable fields
fieldsToAdd.add(new ClassField(this, FN_JdoDetachedState, Constants.ACC_PROTECTED, OT_ObjectArray));
}
fieldsToAdd.add(new ClassField(this, FN_FieldFlags, Constants.ACC_PRIVATE | Constants.ACC_STATIC | Constants.ACC_FINAL,
new ArrayType(Type.BYTE, 1)));
fieldsToAdd.add(new ClassField(this, FN_PersistenceCapableSuperclass,
Constants.ACC_PRIVATE | Constants.ACC_STATIC | Constants.ACC_FINAL, OT_CLASS));
fieldsToAdd.add(new ClassField(this, FN_FieldTypes, Constants.ACC_PRIVATE | Constants.ACC_STATIC | Constants.ACC_FINAL,
new ArrayType(Class.class.getName(), 1)));
fieldsToAdd.add(new ClassField(this, FN_FieldNames, Constants.ACC_PRIVATE | Constants.ACC_STATIC | Constants.ACC_FINAL,
new ArrayType(Type.STRING, 1)));
fieldsToAdd.add(new ClassField(this, FN_JdoInheritedFieldCount, Constants.ACC_PRIVATE | Constants.ACC_STATIC | Constants.ACC_FINAL,
Type.INT));
try
{
// serialVersionUID if not specified
if (BCELUtils.isInstanceof(oldClass, Serializable.class) &&
BCELUtils.getFieldByName(FN_serialVersionUID, newClass) == null)
{
fieldsToAdd.add(new ClassField(this, FN_serialVersionUID,
Constants.ACC_PRIVATE | Constants.ACC_STATIC | Constants.ACC_FINAL, Type.LONG));
addSerialVersionUID = new SerialVersionUID().computeSerialVersionUID(oldClass);
}
}
catch (ClassNotFoundException e)