Class AbstractChannelAdapterParser
java.lang.Object
org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
org.springframework.integration.config.xml.AbstractChannelAdapterParser
- All Implemented Interfaces:
org.springframework.beans.factory.xml.BeanDefinitionParser
- Direct Known Subclasses:
AbstractOutboundChannelAdapterParser
,AbstractPollingInboundChannelAdapterParser
public abstract class AbstractChannelAdapterParser
extends org.springframework.beans.factory.xml.AbstractBeanDefinitionParser
Base parser for Channel Adapters.
Includes logic to determine MessageChannel
:
if 'channel' attribute is defined - uses its value as 'channelName';
if 'id' attribute is defined - creates
DirectChannel
at runtime and uses id's value as 'channelName';
if current component is defined as nested element inside any other components e.g. <chain>
'id' and 'channel' attributes will be ignored and this component will not be parsed as
AbstractEndpoint
.
-
Field Summary
-
Constructor Summary
Constructors Constructor Description AbstractChannelAdapterParser()
-
Method Summary
Modifier and Type Method Description protected abstract org.springframework.beans.factory.support.AbstractBeanDefinition
doParse(org.w3c.dom.Element element, org.springframework.beans.factory.xml.ParserContext parserContext, java.lang.String channelName)
Subclasses must implement this method to parse the adapter element.protected org.springframework.beans.factory.support.AbstractBeanDefinition
parseInternal(org.w3c.dom.Element element, org.springframework.beans.factory.xml.ParserContext parserContext)
protected java.lang.String
resolveId(org.w3c.dom.Element element, org.springframework.beans.factory.support.AbstractBeanDefinition definition, org.springframework.beans.factory.xml.ParserContext parserContext)
-
Constructor Details
-
AbstractChannelAdapterParser
public AbstractChannelAdapterParser()
-
-
Method Details
-
resolveId
protected final java.lang.String resolveId(org.w3c.dom.Element element, org.springframework.beans.factory.support.AbstractBeanDefinition definition, org.springframework.beans.factory.xml.ParserContext parserContext) throws org.springframework.beans.factory.BeanDefinitionStoreException- Overrides:
resolveId
in classorg.springframework.beans.factory.xml.AbstractBeanDefinitionParser
- Throws:
org.springframework.beans.factory.BeanDefinitionStoreException
-
parseInternal
protected final org.springframework.beans.factory.support.AbstractBeanDefinition parseInternal(org.w3c.dom.Element element, org.springframework.beans.factory.xml.ParserContext parserContext)- Specified by:
parseInternal
in classorg.springframework.beans.factory.xml.AbstractBeanDefinitionParser
-
doParse
protected abstract org.springframework.beans.factory.support.AbstractBeanDefinition doParse(org.w3c.dom.Element element, org.springframework.beans.factory.xml.ParserContext parserContext, java.lang.String channelName)Subclasses must implement this method to parse the adapter element. The name of the MessageChannel bean is provided.- Parameters:
element
- The element.parserContext
- The parser context.channelName
- The channel name.- Returns:
- The bean definition.
-