Example usage for org.springframework.beans.factory HierarchicalBeanFactory getParentBeanFactory

List of usage examples for org.springframework.beans.factory HierarchicalBeanFactory getParentBeanFactory

Introduction

In this page you can find the example usage for org.springframework.beans.factory HierarchicalBeanFactory getParentBeanFactory.

Prototype

@Nullable
BeanFactory getParentBeanFactory();

Source Link

Document

Return the parent bean factory, or null if there is none.

Usage

From source file:org.codehaus.groovy.grails.context.annotation.ClosureClassIgnoringComponentScanBeanDefinitionParser.java

@Override
protected ClassPathBeanDefinitionScanner createScanner(XmlReaderContext readerContext,
        boolean useDefaultFilters) {
    final ClassPathBeanDefinitionScanner scanner = super.createScanner(readerContext, useDefaultFilters);
    BeanDefinitionRegistry beanDefinitionRegistry = readerContext.getRegistry();

    GrailsPluginManager pluginManager = null;

    if (beanDefinitionRegistry instanceof HierarchicalBeanFactory) {
        HierarchicalBeanFactory beanFactory = (HierarchicalBeanFactory) beanDefinitionRegistry;
        BeanFactory parent = beanFactory.getParentBeanFactory();
        if (parent != null && parent.containsBean(GrailsPluginManager.BEAN_NAME)) {
            pluginManager = parent.getBean(GrailsPluginManager.BEAN_NAME, GrailsPluginManager.class);
        }//from  w  w  w.  j  a v a2  s .  com
    }

    if (pluginManager != null) {
        List<TypeFilter> typeFilters = pluginManager.getTypeFilters();
        for (TypeFilter typeFilter : typeFilters) {
            scanner.addIncludeFilter(typeFilter);
        }
    }
    return scanner;
}