org.springframework.context.annotation
Class ComponentScanBeanDefinitionParser

java.lang.Object
  extended by org.springframework.context.annotation.ComponentScanBeanDefinitionParser
All Implemented Interfaces:
BeanDefinitionParser

public class ComponentScanBeanDefinitionParser
extends Object
implements BeanDefinitionParser

Parser for the <context:component-scan/> element.

Since:
2.5
Author:
Mark Fisher, Ramnivas Laddad, Juergen Hoeller

Constructor Summary
ComponentScanBeanDefinitionParser()
           
 
Method Summary
protected  ClassPathBeanDefinitionScanner configureScanner(ParserContext parserContext, Element element)
           
protected  ClassPathBeanDefinitionScanner createScanner(XmlReaderContext readerContext, boolean useDefaultFilters)
           
protected  TypeFilter createTypeFilter(Element element, ClassLoader classLoader)
           
 BeanDefinition parse(Element element, ParserContext parserContext)
          Parse the specified Element and register the resulting BeanDefinition(s) with the ParserContext.getRegistry() BeanDefinitionRegistry} embedded in the supplied ParserContext.
protected  void parseBeanNameGenerator(Element element, ClassPathBeanDefinitionScanner scanner)
           
protected  void parseScope(Element element, ClassPathBeanDefinitionScanner scanner)
           
protected  void parseTypeFilters(Element element, ClassPathBeanDefinitionScanner scanner, XmlReaderContext readerContext, ParserContext parserContext)
           
protected  void registerComponents(XmlReaderContext readerContext, Set<BeanDefinitionHolder> beanDefinitions, Element element)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComponentScanBeanDefinitionParser

public ComponentScanBeanDefinitionParser()
Method Detail

parse

public BeanDefinition parse(Element element,
                            ParserContext parserContext)
Description copied from interface: BeanDefinitionParser
Parse the specified Element and register the resulting BeanDefinition(s) with the ParserContext.getRegistry() BeanDefinitionRegistry} embedded in the supplied ParserContext.

Implementations must return the primary BeanDefinition that results from the parse if they will ever be used in a nested fashion (for example as an inner tag in a <property/> tag). Implementations may return null if they will not be used in a nested fashion.

Specified by:
parse in interface BeanDefinitionParser
Parameters:
element - the element that is to be parsed into one or more BeanDefinitions
parserContext - the object encapsulating the current state of the parsing process; provides access to a BeanDefinitionRegistry
Returns:
the primary BeanDefinition

configureScanner

protected ClassPathBeanDefinitionScanner configureScanner(ParserContext parserContext,
                                                          Element element)

createScanner

protected ClassPathBeanDefinitionScanner createScanner(XmlReaderContext readerContext,
                                                       boolean useDefaultFilters)

registerComponents

protected void registerComponents(XmlReaderContext readerContext,
                                  Set<BeanDefinitionHolder> beanDefinitions,
                                  Element element)

parseBeanNameGenerator

protected void parseBeanNameGenerator(Element element,
                                      ClassPathBeanDefinitionScanner scanner)

parseScope

protected void parseScope(Element element,
                          ClassPathBeanDefinitionScanner scanner)

parseTypeFilters

protected void parseTypeFilters(Element element,
                                ClassPathBeanDefinitionScanner scanner,
                                XmlReaderContext readerContext,
                                ParserContext parserContext)

createTypeFilter

protected TypeFilter createTypeFilter(Element element,
                                      ClassLoader classLoader)