return !ClassUtils.hasMethod(superclass, wm.getName(), wm.getParameterTypes());
}
protected Map<String, PropertyDescriptor> unsatisfiedNonSimpleProperties(BeanDefinition mbd) {
Map<String, PropertyDescriptor> properties = CollectUtils.newHashMap();
PropertyValues pvs = mbd.getPropertyValues();
Class<?> clazz = null;
try {
clazz = Class.forName(mbd.getBeanClassName());
} catch (ClassNotFoundException e) {
logger.error("Class " + mbd.getBeanClassName() + "not found", e);
return properties;
}
PropertyDescriptor[] pds = PropertyUtils.getPropertyDescriptors(clazz);
for (PropertyDescriptor pd : pds) {
if (pd.getWriteMethod() != null && !isExcludedFromDependencyCheck(pd)
&& !pvs.contains(pd.getName()) && !BeanUtils.isSimpleProperty(pd.getPropertyType())) {
properties.put(pd.getName(), pd);
}
}
return properties;
}