Record interface superclasses

git-svn-id: https://svn.apache.org/repos/asf/incubator/openjpa/trunk@442494 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Stephen Kim 2006-09-12 07:06:25 +00:00
parent 1e95734015
commit 2dfe77f2ca
1 changed files with 8 additions and 0 deletions

View File

@ -888,6 +888,14 @@ public class MetaDataRepository
_ifaces.put(meta.getDescribedType(), impl);
_metas.put(impl, meta);
addDeclaredInterfaceImpl(meta, meta.getDescribedType());
ClassMetaData sup = meta.getPCSuperclassMetaData();
while (sup != null) {
// record superclass interface info while we can as well as we
// will only register concrete superclass in PCRegistry
sup.clearSubclassCache();
addToCollection(_subs, sup.getDescribedType(), impl, true);
sup = (ClassMetaData) sup.getPCSuperclassMetaData();
}
}
synchronized InterfaceImplGenerator getImplGenerator() {