org.springframework.context.annotation

## Class ComponentScanBeanDefinitionParser

- java.lang.Object
- - 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

Constructors
Constructor and Description
`ComponentScanBeanDefinitionParser()`

### Method Summary

Methods
`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 `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 `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)