The 20040224 CVS extensions source contains the following in JavaTool.java:
Code:
public String getExtends(ClassMapping cmap) {
String extendz = null;
if(cmap.getSuperClass()!=null) {
extendz = cmap.getSuperClass();
} else if (cmap.isInterface() && cmap.getMeta("extends")!=null) {
extendz = cmap.getMetaAsString("extends");
}
return extendz;
}
Note the "if (cmap.isInterface()..." -- I claim that this is a bug. Why should the "extends" clause only apply if the current class being generated is only an interface? In other words, why should <meta attribute="interface"> have anything to do with <meta attribute="extends">?
I am patching my local hbm2java to NOT do this, but the patch is simply to comment out "cmap.isInterface() &&" in the if statement, so I won't bother to submit it :-) Is this a bug? If so I'll JIRA it.
Cheers!
Rob