Class AbstractSingleBeanDefinitionParser
- All Implemented Interfaces:
- BeanDefinitionParser
- Direct Known Subclasses:
- AbstractSimpleBeanDefinitionParser,- ExecutorBeanDefinitionParser,- FreeMarkerConfigurerBeanDefinitionParser,- JtaTransactionManagerBeanDefinitionParser,- ScheduledTasksBeanDefinitionParser,- SchedulerBeanDefinitionParser
BeanDefinitionParser implementations that
 need to parse and define just a single BeanDefinition.
 Extend this parser class when you want to create a single bean definition
 from an arbitrarily complex XML element. You may wish to consider extending
 the AbstractSimpleBeanDefinitionParser when you want to create a
 single bean definition from a relatively simple custom XML element.
 
The resulting BeanDefinition will be automatically registered
 with the BeanDefinitionRegistry.
 Your job simply is to parse the custom XML Element
 into a single BeanDefinition.
- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller, Rick Evans
- See Also:
- 
Field SummaryFields inherited from class org.springframework.beans.factory.xml.AbstractBeanDefinitionParserID_ATTRIBUTE, NAME_ATTRIBUTE
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected voiddoParse(Element element, BeanDefinitionBuilder builder) Parse the suppliedElementand populate the suppliedBeanDefinitionBuilderas required.protected voiddoParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) Parse the suppliedElementand populate the suppliedBeanDefinitionBuilderas required.getBeanClass(Element element) Determine the bean class corresponding to the suppliedElement.getBeanClassName(Element element) Determine the bean class name corresponding to the suppliedElement.getParentName(Element element) Determine the name for the parent of the currently parsed bean, in case of the current bean being defined as a child bean.protected final AbstractBeanDefinitionparseInternal(Element element, ParserContext parserContext) Creates aBeanDefinitionBuilderinstance for thebean Classand passes it to thedoParse(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder)strategy method.Methods inherited from class org.springframework.beans.factory.xml.AbstractBeanDefinitionParserparse, postProcessComponentDefinition, registerBeanDefinition, resolveId, shouldFireEvents, shouldGenerateId, shouldGenerateIdAsFallback, shouldParseNameAsAliases
- 
Constructor Details- 
AbstractSingleBeanDefinitionParserpublic AbstractSingleBeanDefinitionParser()
 
- 
- 
Method Details- 
parseInternalCreates aBeanDefinitionBuilderinstance for thebean Classand passes it to thedoParse(org.w3c.dom.Element, org.springframework.beans.factory.xml.ParserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder)strategy method.- Specified by:
- parseInternalin class- AbstractBeanDefinitionParser
- Parameters:
- element- the element that is to be parsed into a single BeanDefinition
- parserContext- the object encapsulating the current state of the parsing process
- Returns:
- the BeanDefinition resulting from the parsing of the supplied Element
- Throws:
- IllegalStateException- if the bean- Classreturned from- getBeanClass(org.w3c.dom.Element)is- null
- See Also:
 
- 
getParentNameDetermine the name for the parent of the currently parsed bean, in case of the current bean being defined as a child bean.The default implementation returns null, indicating a root bean definition.- Parameters:
- element- the- Elementthat is being parsed
- Returns:
- the name of the parent bean for the currently parsed bean,
 or nullif none
 
- 
getBeanClassDetermine the bean class corresponding to the suppliedElement.Note that, for application classes, it is generally preferable to override getBeanClassName(org.w3c.dom.Element)instead, in order to avoid a direct dependence on the bean implementation class. The BeanDefinitionParser and its NamespaceHandler can be used within an IDE plugin then, even if the application classes are not available on the plugin's classpath.- Parameters:
- element- the- Elementthat is being parsed
- Returns:
- the Classof the bean that is being defined via parsing the suppliedElement, ornullif none
- See Also:
 
- 
getBeanClassNameDetermine the bean class name corresponding to the suppliedElement.- Parameters:
- element- the- Elementthat is being parsed
- Returns:
- the class name of the bean that is being defined via parsing
 the supplied Element, ornullif none
- See Also:
 
- 
doParseParse the suppliedElementand populate the suppliedBeanDefinitionBuilderas required.The default implementation delegates to the doParseversion without ParserContext argument.- Parameters:
- element- the XML element being parsed
- parserContext- the object encapsulating the current state of the parsing process
- builder- used to define the- BeanDefinition
- See Also:
 
- 
doParseParse the suppliedElementand populate the suppliedBeanDefinitionBuilderas required.The default implementation does nothing. - Parameters:
- element- the XML element being parsed
- builder- used to define the- BeanDefinition
 
 
-