@Override public <T> void addBean(T bean) { addBean((Class<T>)bean.getClass(),bean,true); }
@Override public <T> void addBean(Class<T> type, T bean, String name, boolean primary) { Args.notNull(type,"type"); Args.notNull(bean,"bean"); /* if(primary && tryGetBean(type) != null){ throw new BeanDefinitionException("Primary bean of type '" + type.getName() + "' aleady exists"); } */ this.beanContainer.addBean(type, bean, name, primary); }
@Override public <T> void addBean(Class<? super T> beanType, boolean primary, boolean lazyInit, Class<T> beanClass, Object... constructorArgs) throws BeanException { Args.notNull(beanClass); Args.notNull(beanType); /* if(primary && tryGetBean(beanType) != null){ throw new BeanDefinitionException("primary bean for type '" + beanType.getName() + "' aleady exists"); } */ this.beanContainer.addBean(beanType, primary, lazyInit, beanClass, constructorArgs); }
@Override public <T> void addBean(Class<T> type, T bean, boolean primary) { Args.notNull(type,"type"); Args.notNull(bean,"bean"); /* if(primary && tryGetBean(type) != null){ throw new BeanDefinitionException("Primary bean of type '" + type.getName() + "' aleady exists"); } */ this.beanContainer.addBean(type, bean, primary); }
@Override public <T> void addBean(String id, boolean lazyInit, Class<? extends T> beanClass, Object... constructorArgs) throws BeanException { Args.notNull(beanClass); Args.notEmpty(id); if(tryGetBean(id) != null){ throw new BeanDefinitionException("the to be added bean '" + id + "' aleady exists"); } this.beanContainer.addBean(id, lazyInit, beanClass, constructorArgs); }
@Override public <T> void addBean(Class<? super T> beanType, boolean primary, String name, boolean lazyInit, Class<T> beanClass, Object... constructorArgs) throws BeanException { Args.notNull(beanClass); Args.notNull(beanType); Args.notEmpty(name); /* if(primary && tryGetBean(beanType) != null){ throw new BeanDefinitionException("primary bean for type '" + beanType.getName() + "' aleady exists"); } */ if(tryGetBean(beanType, name) != null){ throw new BeanDefinitionException("the bean '" + name + "' for type '" + beanType.getName() + "' aleady exists"); } this.beanContainer.addBean(beanType, primary, name, lazyInit, beanClass, constructorArgs); }
addBean(AppConfigurator.class, configurator, true); for(AppConfigInitializer ci : getBeans(AppConfigInitializer.class)) { ci.init(appContext, configurator);