sc.setSuperClassName(null);
super.visitClass(sc);
return;
}
//Always use the fully qualified name
SpeedoClass supersc = sc.getSpeedoClassFromContext(sc.getSuperClassName());
sc.setSuperClassName(supersc.getFQName());
if (debug) {
logger.log(BasicLevel.DEBUG, "class " + sc.getFQName()
+ " extends " + sc.getSuperClassName());
}
SpeedoExtension se = sc.getExtensionByKey(INHERITANCE_MAPPING);
if (se == null) {
se = new SpeedoExtension(VENDOR_NAME,
INHERITANCE_MAPPING,
DEFAULT_INHERITANCE_MAPPING, sc);
sc.addExtension(se);
}
//Assign identifier information to all familly member
List family = new ArrayList();
getFamily(sc, family);
SpeedoClass ancestor = (SpeedoClass) family.get(0);
List extensions = findExtensions(ancestor, new String[] {
ID, SQL_SEQ_ALLOCATOR, SQL_SEQ_CACHE, SQL_SEQ_INC, SQL_SEQ_NAME,
SQL_SEQ_START});
boolean detachable = ancestor.isDetachable;
SpeedoIdentity currentIdentity = ancestor.identity;
for(int i=1; i<family.size(); i++) {
SpeedoClass anAncestor = (SpeedoClass) family.get(i);
SpeedoNoFieldColumn[] cols = null;
if (anAncestor.identity != null) {
cols = anAncestor.identity.columns;
}
if (cols != null) {