*
* @param c The Entity class to be parsed.
* @param sc The SpeedoClass under construction.
*/
private void parseInheritance(Class c, SpeedoClass sc) {
Inheritance a = (Inheritance) c.getAnnotation(Inheritance.class);
if (a == null) {
return;
}
if (sc.inheritance == null) {
// This is a root class in an inheritance hierarchy
sc.inheritance = new SpeedoInheritance();
sc.inheritance.clazz = sc;
sc.inheritance.superClassName = null;
}
switch (a.strategy()) {
case SINGLE_TABLE: // filtered inheritance mapping
SpeedoNoFieldColumn snofc;
if (sc.inheritance.join != null) {
logger.log(BasicLevel.ERROR, sc.getSourceDescShort()
+ ": no join column definition required for SINGLE_TABLE strategy inheritance - ignored!");