| Finds the actual class which is implementing the specified bean.
Uses a recursive logic as follows
findImplementationClass(bean) :
type = null;
if(bean has parent) {
getMergedAttributes(parent); // walk the ancestor chain and find all attributes
}
if(bean has factory-bean attribute defined) {
type = findImplementationClass(factory-bean);
} else if(bean has class attribute defined) {
type = class attrib value;
} else if(bean has parent attribute) {
type = findImplementationClass(parent);
}
if(bean has factory-method) {
type = findFactoryMethodReturnType(type, factory-method-name);
}
return type;
author: Rohan Ranade (Rohan.Ranade@Sun.COM) |