private void parseBean(Node node, Map<String, String> prefixesMap) {
String id = getTrimmedAttr(node, BeansAttributes.ID);
String name = getTrimmedAttr(node, BeansAttributes.NAME);
List<String> names;
if (name != null) {
names = Collections.unmodifiableList(StringUtils.tokenize(name, SpringXMLConfigEditorUtils.BEAN_NAME_DELIMITERS));
} else {
names = Collections.<String>emptyList();
}
String clazz = getTrimmedAttr(node, BeansAttributes.CLASS);
String parent = getTrimmedAttr(node, BeansAttributes.PARENT);
String factoryBean = getTrimmedAttr(node, BeansAttributes.FACTORY_BEAN);
String factoryMethod = getTrimmedAttr(node, BeansAttributes.FACTORY_METHOD);
Tag tag = (Tag)node;
Location location = new ConfigFileLocation(FileUtil.toFileObject(file), tag.getElementOffset());
Set<SpringBeanProperty> properties = parseBeanProperties(node, prefixesMap);
ConfigFileSpringBean bean = new ConfigFileSpringBean(id, names, clazz, parent, factoryBean, factoryMethod, properties, location);
if (id != null) {
addBeanID(id, bean);
}
for (String each : names) {
addBeanName(each, bean);
}
if (clazz != null) {
beans.add(bean);
}
}