/** * This method recurses into the parent ClassLoaders and checks whether a BeanManagerInfo for it exists. * * @return the BeanManagerInfo of the parent ClassLoader hierarchy if any exists, or <code>null</code> if there is * no {@link BeanManagerInfo} for the ClassLoaders in the hierarchy. */ private BeanManagerInfo getParentBeanManagerInfo(ClassLoader classLoader) { ClassLoader parentClassLoader = classLoader.getParent(); if (parentClassLoader == null) { return null; } BeanManagerInfo bmi = getBeanManagerInfo(parentClassLoader); if (bmi == null) { // recursive call up to the root ClassLoader bmi = getParentBeanManagerInfo(parentClassLoader); } return bmi; }
/** * This method recurses into the parent ClassLoaders and will check if a * BeanManagerInfo for it exists. * @return the BeanManagerInfo of the parent ClassLoader hierarchy if any exists, * or <code>null</code> if there is no {@link BeanManagerInfo} for the ClassLoaders in the hierarchy. */ private BeanManagerInfo getParentBeanManagerInfo(ClassLoader classLoader) { ClassLoader parentClassLoader = classLoader.getParent(); if (parentClassLoader.equals(ClassLoader.getSystemClassLoader())) { return null; } BeanManagerInfo bmi = getBeanManagerInfo(parentClassLoader); if (bmi == null) { bmi = getParentBeanManagerInfo(parentClassLoader); } return bmi; }
/** * This method recurses into the parent ClassLoaders and checks whether a BeanManagerInfo for it exists. * * @return the BeanManagerInfo of the parent ClassLoader hierarchy if any exists, or <code>null</code> if there is * no {@link BeanManagerInfo} for the ClassLoaders in the hierarchy. */ private BeanManagerInfo getParentBeanManagerInfo(ClassLoader classLoader) { ClassLoader parentClassLoader = classLoader.getParent(); if (parentClassLoader == null) { return null; } BeanManagerInfo bmi = getBeanManagerInfo(parentClassLoader); if (bmi == null) { // recursive call up to the root ClassLoader bmi = getParentBeanManagerInfo(parentClassLoader); } return bmi; }
/** * It basically doesn't matter which of the system events we use, * but basically we use the {@link AfterBeanDiscovery} event since it allows to use the * {@link BeanManagerProvider} for all events which occur after the {@link AfterBeanDiscovery} event. * * @param afterBeanDiscovery event which we don't actually use ;) * @param beanManager the BeanManager we store and make available. */ public void setBeanManager(@Observes AfterBeanDiscovery afterBeanDiscovery, BeanManager beanManager) { setBeanManagerProvider(this); BeanManagerInfo bmi = getBeanManagerInfo(ClassUtils.getClassLoader(null)); bmi.loadTimeBm = beanManager; }
/** * It doesn't really matter which of the system events is used to obtain the BeanManager, but * {@link AfterBeanDiscovery} has been chosen since it allows all events which occur after the * {@link AfterBeanDiscovery} to use the {@link BeanManagerProvider}. * * @param afterBeanDiscovery event which we don't actually use ;) * @param beanManager the BeanManager we store and make available. */ public void setBeanManager(@Observes AfterBeanDiscovery afterBeanDiscovery, BeanManager beanManager) { setBeanManagerProvider(this); BeanManagerInfo bmi = getBeanManagerInfo(ClassUtils.getClassLoader(null)); bmi.loadTimeBm = beanManager; }
/** * It doesn't really matter which of the system events is used to obtain the BeanManager, but * {@link AfterBeanDiscovery} has been chosen since it allows all events which occur after the * {@link AfterBeanDiscovery} to use the {@link BeanManagerProvider}. * * @param afterBeanDiscovery event which we don't actually use ;) * @param beanManager the BeanManager we store and make available. */ public void setBeanManager(@Observes AfterBeanDiscovery afterBeanDiscovery, BeanManager beanManager) { setBeanManagerProvider(this); BeanManagerInfo bmi = getBeanManagerInfo(ClassUtils.getClassLoader(null)); bmi.loadTimeBm = beanManager; }
BeanManagerInfo bmi = getBeanManagerInfo(ClassUtils.getClassLoader(null));
BeanManagerInfo bmi = getBeanManagerInfo(ClassUtils.getClassLoader(null));
BeanManagerInfo bmi = getBeanManagerInfo(ClassUtils.getClassLoader(null));