protected Object doBeanCreation(BeanDefinitionBase bd){ log.trace("Creating bean {}",bd); Object bean; FactoryDefinition fd = bd.getFactoryDefinition(); ValueDefinition vd = bd.getValueDefinition(); if(null != fd) { bean = doResolveValueFromFactory(bd, fd); }else if(null != vd) { bean = doResolveValue(bd, vd, null); } else { bean = doBeanCreationByConstructor(bd); } processBeanCreation(bd, bean); return bean; }
protected BeanDefinitionBase readMapBean(BeanContainer container, XmlReader reader, LoaderContext context) { BeanDefinitionBase bean = new BeanDefinitionBase(reader.getSource()); readValuedBeanAttributes(container, reader, context, bean); bean.setBeanClass(classAttribute(reader, MAP_CLASS_ATTRIBUTE, false)); bean.setValueDefinition(readMap(container, reader, context)); bean.getValueDefinition().setDefinedType(bean.getBeanClass()); if (null == bean.getBeanClass()) { bean.setBeanClass(LinkedHashMap.class); } return bean; }
protected BeanDefinitionBase readSetBean(BeanContainer container, XmlReader reader, LoaderContext context) { BeanDefinitionBase bean = new BeanDefinitionBase(reader.getSource()); readValuedBeanAttributes(container, reader, context, bean); bean.setBeanClass(classAttribute(reader, SET_CLASS_ATTRIBUTE, false)); bean.setValueDefinition(readSet(container, reader, context)); bean.getValueDefinition().setDefinedType(bean.getBeanClass()); if (null == bean.getBeanClass()) { bean.setBeanClass(LinkedHashSet.class); } return bean; }
protected BeanDefinitionBase readListBean(BeanContainer container, XmlReader reader, LoaderContext context) { BeanDefinitionBase bean = new BeanDefinitionBase(reader.getSource()); readValuedBeanAttributes(container, reader, context, bean); bean.setBeanClass(classAttribute(reader, LIST_CLASS_ATTRIBUTE, false)); bean.setValueDefinition(readList(container, reader, context)); bean.getValueDefinition().setDefinedType(bean.getBeanClass()); if (null == bean.getBeanClass()) { bean.setBeanClass(ArrayList.class); } return bean; }