Last active
August 29, 2015 14:24
-
-
Save Kotlin-Native/9e48533ce399d6a4b96f to your computer and use it in GitHub Desktop.
DependencyRegisteringPostProcessor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public class DependencyRegisteringPostProcessor | |
| implements BeanFactoryPostProcessor { | |
| private BeanManager beanManager; | |
| private List<Bean<Object>> cdiBeans; | |
| public DependencyRegisteringPostProcessor(BeanManager beanManager, List<bean><object>>cdiBeans) { | |
| this.beanManager = beanManager; | |
| this.cdiBeans = cdiBeans; | |
| } | |
| public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) | |
| throws BeansException { | |
| BeanDefinitionRegistry registry = (BeanDefinitionRegistry)beanFactory; | |
| Map<String, Object> beans = new HashMap<String, Object>(); | |
| for (Bean<Object> bean : cdiBeans) { | |
| BeanDefinition beanDefinition = createBeanDefinition(bean); | |
| String beanName = createBeanName(bean, beanDefinition, registry); | |
| registry.registerBeanDefinition(beanName, beanDefinition); | |
| beans.put(beanName, bean); | |
| } | |
| CdiScope cdiScope = new CdiScope(beanManager, beans); | |
| beanFactory.registerScope(CdiScope.class.getName(), cdiScope); | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment