id = id(bd.getNamespace(), bd.getName()); BeanDefinitionBase existsBeanDefinition = identifiedBeanDefinitions.get(id); if(null != existsBeanDefinition){ addAdditionalTypeDef(bd,def);
String key = key(beanType, type.getName()); BeanDefinitionBase existsBeanDefinition = namedBeanDefinitions.get(key); if(existsBeanDefinition != null){
public BeanDefinitionBase remove(Class<?> type, Class<?> cls) { Set<BeanDefinitionBase> set = beanTypeDefinitions.get(type); if(null != set) { Set<BeanDefinitionBase> found = new HashSet<>(); Set<BeanDefinitionBase> notFound = new LinkedHashSet<>(); for(BeanDefinitionBase bd : set) { if(bd.getBeanClass().equals(cls)) { found.add(bd); }else{ notFound.add(bd); } } set.clear(); set.addAll(notFound); for(BeanDefinitionBase bd : found) { removeAll(bd); } } return null; }
protected BeanDefinitionBase findProxy(BeanDefinitionBase bd) { BeanDefinitionBase pd; //find by id. if(!Strings.isEmpty(bd.getId())) { pd = bpds.identifiedBeanDefinitions.get(bd.getId()); if(null != pd) { return pd; } } //find by name. if(!Strings.isEmpty(bd.getName())) { pd = bpds.find(bd.getType(), bd.getName()); if(null != pd) { return pd; } } //find by primary. if(bd.isPrimary()) { pd = bpds.primaryBeanDefinitions.get(bd.getType()); if(null != pd) { return pd; } } //find typed proxy. return findTypedProxy(bd); }
public BeanDefinitionBase removePrimary(Class<?> type) { return removeAll(primaryBeanDefinitions.remove(type)); }
public BeanDefinitionBase remove(String id) { return removeAll(identifiedBeanDefinitions.remove(id)); }
protected BeanDefinitionBase findPrimaryBeanDefinition(Class<?> beanType){ return bds.find(beanType); }
protected BeanDefinitionBase findBeanOrAliasDefinition(Class<?> beanType, String name){ return bds.find(beanType, name); }
@Override public <T> T tryGetBean(String namespace, String name) throws BeanException { return tryGetBean(bds.id(namespace, name)); }
@Override public <T> T tryCreateBean(String namespace, String name) { return tryCreateBean(bds.id(namespace, name)); }
protected void addBeanDefinition(BeanDefinitionBase bd, boolean proxy) throws BeanDefinitionException { BeanDefinitionsImpl bds = this.bds; if(proxy) { bds = this.bpds; } bds.add(bd); }