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, shouldParseNameAsAliases
protected final String resolveId(Element element, AbstractBeanDefinition definition, ParserContext parserContext) throws BeanDefinitionStoreException
resolveId
in class AbstractBeanDefinitionParser
BeanDefinitionStoreException
protected final AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext)
parseInternal
in class AbstractBeanDefinitionParser
protected abstract AbstractBeanDefinition doParse(Element element, ParserContext parserContext, String channelName)
element
- The element.parserContext
- The parser context.channelName
- The channel name.