@Override public <T> T getOrAddBean(Class<T> type, String name) throws BeanException { T bean = tryGetBean(type, name); if(null == bean){ //add bean definition and try again. addBeanDefinition(createBeanDefinition(type, name)); bean = tryGetBean(type, name); } return bean; }
public <T> T getBean(String id) throws NoSuchBeanException,BeanException { T bean = tryGetBean(id); if(null == bean){ throw new NoSuchBeanException("No such bean '" + id + "'"); } return bean; }
@Override public <T> T getBean(Class<? super T> type, String name) throws NoSuchBeanException, BeanException { T bean = (T) tryGetBean(type, name); if(null == bean){ throw new NoSuchBeanException("No bean named '" + name + "' for type '" + type.getName() + "'"); } return bean; }
@Override public <T> T getBean(Class<? super T> type) throws NoSuchBeanException,BeanException { T bean = (T) tryGetBean(type); if(null == bean){ throw new NoSuchBeanException("No primary bean for type '" + type.getName() + "'"); } return bean; }
@Override public <T> T tryGetBean(String namespace, String name) throws BeanException { T bean = (T)(null != externalFactory ? externalFactory.tryGetBean(namespace, name) : null); if(null == bean){ bean = beanContainer.tryGetBean(namespace, name); } return bean; }
@Override public <T> T tryGetBean(Class<? super T> type) throws BeanException { T bean = (T)(null != externalFactory ? externalFactory.tryGetBean(type) : null); if(null == bean){ bean = beanContainer.<T>tryGetBean(type); } return bean; }
@Override public <T> T tryGetBean(Class<? super T> type, String name) throws BeanException { T bean = (T)(null != externalFactory ? externalFactory.tryGetBean(type,name) : null); if(null == bean){ bean = beanContainer.<T>tryGetBean(type,name); } return bean; }
@Override public <T> T getBean(String namespace, String name) throws BeanException { T bean = tryGetBean(namespace, name); if(null == bean){ throw new NoSuchBeanException("No such bean with namespace '" + namespace + "' and name '" + name + "'"); } return bean; }
@Override public <T> T getOrAddBean(Class<T> type) throws BeanException { T bean = tryGetBean(type); if(null == bean) { //add bean definition and try again. addBeanDefinition(createBeanDefinition(type)); bean = tryGetBean(type); } return bean; }
@Override public <T> T tryGetBean(String id) { T bean = (T)(null != externalFactory ? externalFactory.tryGetBean(id) : null); if(null == bean){ bean = beanContainer.tryGetBean(id); } return bean; }
@Override public <T> T tryGetBean(String namespace, String name) throws BeanException { return tryGetBean(bds.id(namespace, name)); }