Java 类org.springframework.beans.factory.HierarchicalBeanFactory 实例源码

项目:gemini.blueprint    文件:ClassUtilsTest.java   
public void testAppContextClassHierarchy() {
    Class<?>[] clazz =
            ClassUtils.getClassHierarchy(OsgiBundleXmlApplicationContext.class, ClassUtils.ClassSet.ALL_CLASSES);

       //Closeable.class,
    Class<?>[] expected =
            new Class<?>[] { OsgiBundleXmlApplicationContext.class,
                    AbstractDelegatedExecutionApplicationContext.class, AbstractOsgiBundleApplicationContext.class,
                    AbstractRefreshableApplicationContext.class, AbstractApplicationContext.class,
                    DefaultResourceLoader.class, ResourceLoader.class,
                    AutoCloseable.class,
                    DelegatedExecutionOsgiBundleApplicationContext.class,
                    ConfigurableOsgiBundleApplicationContext.class, ConfigurableApplicationContext.class,
                    ApplicationContext.class, Lifecycle.class, Closeable.class, EnvironmentCapable.class, ListableBeanFactory.class,
                    HierarchicalBeanFactory.class, ApplicationEventPublisher.class, ResourcePatternResolver.class,
                    MessageSource.class, BeanFactory.class, DisposableBean.class };

    assertTrue(compareArrays(expected, clazz));
}
项目:parabuild-ci    文件:DwrNamespaceHandler.java   
private BeanDefinition findParentDefinition(String parentName, BeanDefinitionRegistry registry)
{   
    if (registry != null) 
    {
        if (registry.containsBeanDefinition(parentName)) 
        {
            return registry.getBeanDefinition(parentName);
        } 
        else if (registry instanceof HierarchicalBeanFactory) 
        {
            // Try to get parent definition from the parent BeanFactory. This could return null
            BeanFactory parentBeanFactory = ((HierarchicalBeanFactory)registry).getParentBeanFactory();
            return findParentDefinition(parentName, (BeanDefinitionRegistry)parentBeanFactory);
        } 
    }

    // we've exhausted all possibilities        
    return null;
}
项目:dwr    文件:NamespaceParserHelper.java   
/**
 * Finds a parent bean definition in the hierarchy of contexts.
 *
 * @param parentName any
 * @param registry any
 * @return any
 */
protected BeanDefinition findParentDefinition(String parentName, BeanDefinitionRegistry registry)
{
    if (registry != null)
    {
        if (registry.containsBeanDefinition(parentName))
        {
            return registry.getBeanDefinition(parentName);
        }
        else if (registry instanceof HierarchicalBeanFactory)
        {
            // Try to get parent definition from the parent BeanFactory. This could return null
            BeanFactory parentBeanFactory = ((HierarchicalBeanFactory) registry).getParentBeanFactory();
            return findParentDefinition(parentName, (BeanDefinitionRegistry) parentBeanFactory);
        }
    }
    return null;
}
项目:onetwo    文件:SpringUtils.java   
public static Map<String, Object> beansOfAnnotationIncludingAncestors(ListableBeanFactory lbf, Class<? extends Annotation> annotationType)
        throws BeansException {

    Assert.notNull(lbf, "ListableBeanFactory must not be null");
    Map<String, Object> result = new LinkedHashMap<String, Object>();
    result.putAll(lbf.getBeansWithAnnotation(annotationType));
    if (lbf instanceof HierarchicalBeanFactory) {
        HierarchicalBeanFactory hbf = (HierarchicalBeanFactory) lbf;
        if (hbf.getParentBeanFactory() instanceof ListableBeanFactory) {
            Map<String, Object> parentResult = beansOfAnnotationIncludingAncestors(
                    (ListableBeanFactory) hbf.getParentBeanFactory(), annotationType);
            for (Map.Entry<String, Object> entry : parentResult.entrySet()) {
                String beanName = entry.getKey();
                if (!result.containsKey(beanName) && !hbf.containsLocalBean(beanName)) {
                    result.put(beanName, entry.getValue());
                }
            }
        }
    }
    return result;
}
项目:spring-osgi    文件:ClassUtilsTest.java   
public void testAppContextClassHierarchy() {
    Class[] clazz = ClassUtils.getClassHierarchy(OsgiBundleXmlApplicationContext.class,
        ClassUtils.INCLUDE_ALL_CLASSES);

    Class[] expected = new Class[] { OsgiBundleXmlApplicationContext.class, 
            AbstractDelegatedExecutionApplicationContext.class, DelegatedExecutionOsgiBundleApplicationContext.class,
            ConfigurableOsgiBundleApplicationContext.class, ConfigurableApplicationContext.class, ApplicationContext.class,
            Lifecycle.class, Closeable.class, EnvironmentCapable.class, ListableBeanFactory.class,
            HierarchicalBeanFactory.class, MessageSource.class, ApplicationEventPublisher.class,
            ResourcePatternResolver.class, BeanFactory.class, ResourceLoader.class, AutoCloseable.class,
            AbstractOsgiBundleApplicationContext.class, AbstractRefreshableApplicationContext.class,
            AbstractApplicationContext.class, DisposableBean.class, DefaultResourceLoader.class };
    String msg = "Class: ";
    for (int i=0;i<clazz.length;i++) {
        msg += clazz[i].getSimpleName() + " ";
    }
    assertTrue(msg, compareArrays(expected, clazz));
}
项目:spring-boot-autoconfigure    文件:OnBeansCondition.java   
private void collectBeanNamesForType(Set<String> result, ListableBeanFactory beanFactory, Class<?> type,
                                     boolean considerHierarchy) {
    result.addAll(BeanTypeRegistry.get(beanFactory).getNamesForType(type));
    if (considerHierarchy && beanFactory instanceof HierarchicalBeanFactory) {
        BeanFactory parent = ((HierarchicalBeanFactory) beanFactory).getParentBeanFactory();
        if (parent instanceof ListableBeanFactory) {
            collectBeanNamesForType(result, (ListableBeanFactory) parent, type, considerHierarchy);
        }
    }
}
项目:spring-boot-autoconfigure    文件:OnBeansCondition.java   
private void collectBeanNamesForAnnotation(Set<String> names, ListableBeanFactory beanFactory,
                                           Class<? extends Annotation> annotationType, boolean considerHierarchy) {
    names.addAll(BeanTypeRegistry.get(beanFactory).getNamesForAnnotation(annotationType));
    if (considerHierarchy) {
        BeanFactory parent = ((HierarchicalBeanFactory) beanFactory).getParentBeanFactory();
        if (parent instanceof ListableBeanFactory) {
            collectBeanNamesForAnnotation(names, (ListableBeanFactory) parent, annotationType, considerHierarchy);
        }
    }
}
项目:gemini.blueprint    文件:ClassUtilsTest.java   
public void testInterfacesHierarchy() {
       //Closeable.class,
    Class<?>[] clazz = ClassUtils.getAllInterfaces(DelegatedExecutionOsgiBundleApplicationContext.class);
    Class<?>[] expected =
            { ConfigurableOsgiBundleApplicationContext.class, ConfigurableApplicationContext.class,
                    ApplicationContext.class, Lifecycle.class, Closeable.class, EnvironmentCapable.class, ListableBeanFactory.class,
                    HierarchicalBeanFactory.class, MessageSource.class, ApplicationEventPublisher.class,
                    ResourcePatternResolver.class, BeanFactory.class, ResourceLoader.class, AutoCloseable.class };

    assertTrue(compareArrays(expected, clazz));
}
项目:lodsve-framework    文件:OnBeanCondition.java   
private void collectBeanNamesForType(Set<String> result,
        ListableBeanFactory beanFactory, Class<?> type, boolean considerHierarchy) {
    result.addAll(BeanTypeRegistry.get(beanFactory).getNamesForType(type));
    if (considerHierarchy && beanFactory instanceof HierarchicalBeanFactory) {
        BeanFactory parent = ((HierarchicalBeanFactory) beanFactory)
                .getParentBeanFactory();
        if (parent instanceof ListableBeanFactory) {
            collectBeanNamesForType(result, (ListableBeanFactory) parent, type,
                    considerHierarchy);
        }
    }
}
项目:lodsve-framework    文件:OnBeanCondition.java   
private void collectBeanNamesForAnnotation(Set<String> names,
        ListableBeanFactory beanFactory, Class<? extends Annotation> annotationType,
        boolean considerHierarchy) {
    names.addAll(
            BeanTypeRegistry.get(beanFactory).getNamesForAnnotation(annotationType));
    if (considerHierarchy) {
        BeanFactory parent = ((HierarchicalBeanFactory) beanFactory)
                .getParentBeanFactory();
        if (parent instanceof ListableBeanFactory) {
            collectBeanNamesForAnnotation(names, (ListableBeanFactory) parent,
                    annotationType, considerHierarchy);
        }
    }
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:JsonComponentModule.java   
@PostConstruct
public void registerJsonComponents() {
    BeanFactory beanFactory = this.beanFactory;
    while (beanFactory != null) {
        if (beanFactory instanceof ListableBeanFactory) {
            addJsonBeans((ListableBeanFactory) beanFactory);
        }
        beanFactory = (beanFactory instanceof HierarchicalBeanFactory
                ? ((HierarchicalBeanFactory) beanFactory).getParentBeanFactory()
                : null);
    }
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:OnBeanCondition.java   
private void collectBeanNamesForType(Set<String> result,
        ListableBeanFactory beanFactory, Class<?> type, boolean considerHierarchy) {
    result.addAll(BeanTypeRegistry.get(beanFactory).getNamesForType(type));
    if (considerHierarchy && beanFactory instanceof HierarchicalBeanFactory) {
        BeanFactory parent = ((HierarchicalBeanFactory) beanFactory)
                .getParentBeanFactory();
        if (parent instanceof ListableBeanFactory) {
            collectBeanNamesForType(result, (ListableBeanFactory) parent, type,
                    considerHierarchy);
        }
    }
}
项目:spring-boot-concourse    文件:JsonComponentModule.java   
@PostConstruct
public void registerJsonComponents() {
    BeanFactory beanFactory = this.beanFactory;
    while (beanFactory != null) {
        if (beanFactory instanceof ListableBeanFactory) {
            addJsonBeans((ListableBeanFactory) beanFactory);
        }
        beanFactory = (beanFactory instanceof HierarchicalBeanFactory
                ? ((HierarchicalBeanFactory) beanFactory).getParentBeanFactory()
                : null);
    }
}
项目:spring-boot-concourse    文件:OnBeanCondition.java   
private void collectBeanNamesForType(Set<String> result,
        ListableBeanFactory beanFactory, Class<?> type, boolean considerHierarchy) {
    result.addAll(BeanTypeRegistry.get(beanFactory).getNamesForType(type));
    if (considerHierarchy && beanFactory instanceof HierarchicalBeanFactory) {
        BeanFactory parent = ((HierarchicalBeanFactory) beanFactory)
                .getParentBeanFactory();
        if (parent instanceof ListableBeanFactory) {
            collectBeanNamesForType(result, (ListableBeanFactory) parent, type,
                    considerHierarchy);
        }
    }
}
项目:contestparser    文件:OnBeanCondition.java   
private void collectBeanNamesForType(Set<String> result,
        ListableBeanFactory beanFactory, Class<?> type, boolean considerHierarchy) {
    result.addAll(BeanTypeRegistry.get(beanFactory).getNamesForType(type));
    if (considerHierarchy && beanFactory instanceof HierarchicalBeanFactory) {
        BeanFactory parent = ((HierarchicalBeanFactory) beanFactory)
                .getParentBeanFactory();
        if (parent instanceof ListableBeanFactory) {
            collectBeanNamesForType(result, (ListableBeanFactory) parent, type,
                    considerHierarchy);
        }
    }
}
项目:spring-osgi    文件:ClassUtilsTest.java   
public void testInterfacesHierarchy() {
    Class[] clazz = ClassUtils.getAllInterfaces(DelegatedExecutionOsgiBundleApplicationContext.class);
    Class[] expected = { ConfigurableOsgiBundleApplicationContext.class, ConfigurableApplicationContext.class, 
            ApplicationContext.class, Lifecycle.class, Closeable.class, EnvironmentCapable.class, 
            ListableBeanFactory.class, HierarchicalBeanFactory.class, MessageSource.class, ApplicationEventPublisher.class, 
            ResourcePatternResolver.class, BeanFactory.class, ResourceLoader.class, AutoCloseable.class };

    String msg = "Class: ";
    for (int i=0;i<clazz.length;i++) {
        msg += clazz[i].getSimpleName() + " ";
    }
    assertTrue(msg, compareArrays(expected, clazz));
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:EndpointWebMvcChildContextConfiguration.java   
@Bean
public Filter springSecurityFilterChain(HierarchicalBeanFactory beanFactory) {
    BeanFactory parent = beanFactory.getParentBeanFactory();
    return parent.getBean("springSecurityFilterChain", Filter.class);
}
项目:spring-boot-concourse    文件:EndpointWebMvcChildContextConfiguration.java   
@Bean
public Filter springSecurityFilterChain(HierarchicalBeanFactory beanFactory) {
    BeanFactory parent = beanFactory.getParentBeanFactory();
    return parent.getBean("springSecurityFilterChain", Filter.class);
}
项目:contestparser    文件:EndpointWebMvcChildContextConfiguration.java   
@Bean
public Filter springSecurityFilterChain(HierarchicalBeanFactory beanFactory) {
    BeanFactory parent = beanFactory.getParentBeanFactory();
    return parent.getBean("springSecurityFilterChain", Filter.class);
}