public abstract class AbstractChannelAdapterParser extends AbstractBeanDefinitionParser
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.
ID_ATTRIBUTE, NAME_ATTRIBUTE| Constructor and Description |
|---|
AbstractChannelAdapterParser() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract AbstractBeanDefinition |
doParse(Element element,
ParserContext parserContext,
String channelName)
Subclasses must implement this method to parse the adapter element.
|
protected AbstractBeanDefinition |
parseInternal(Element element,
ParserContext parserContext) |
protected String |
resolveId(Element element,
AbstractBeanDefinition definition,
ParserContext parserContext) |
parse, postProcessComponentDefinition, registerBeanDefinition, shouldFireEvents, shouldGenerateId, shouldGenerateIdAsFallback, shouldParseNameAsAliasesprotected final String resolveId(Element element, AbstractBeanDefinition definition, ParserContext parserContext) throws BeanDefinitionStoreException
resolveId in class AbstractBeanDefinitionParserBeanDefinitionStoreExceptionprotected final AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext)
parseInternal in class AbstractBeanDefinitionParserprotected abstract AbstractBeanDefinition doParse(Element element, ParserContext parserContext, String channelName)
element - The element.parserContext - The parser context.channelName - The channel name.