Class IntegrationNamespaceUtils
java.lang.Object
org.springframework.integration.config.xml.IntegrationNamespaceUtils
Shared utility methods for integration namespace parsers.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
checkAndConfigureFixedSubscriberChannel
(Element element, org.springframework.beans.factory.xml.ParserContext parserContext, String channelName, String handlerBeanName) static org.springframework.beans.factory.support.ManagedList
configureAdviceChain
(Element adviceChainElement, Element txElement, boolean handleMessageAdvice, org.springframework.beans.factory.config.BeanDefinition parentBeanDefinition, org.springframework.beans.factory.xml.ParserContext parserContext) static org.springframework.beans.factory.support.ManagedList
configureAdviceChain
(Element adviceChainElement, Element txElement, org.springframework.beans.factory.config.BeanDefinition parentBeanDefinition, org.springframework.beans.factory.xml.ParserContext parserContext) static void
configureAndSetAdviceChainIfPresent
(Element adviceChainElement, Element txElement, boolean handleMessageAdvice, org.springframework.beans.factory.config.BeanDefinition parentBeanDefinition, org.springframework.beans.factory.xml.ParserContext parserContext) static void
configureAndSetAdviceChainIfPresent
(Element adviceChainElement, Element txElement, boolean handleMessageAdvice, org.springframework.beans.factory.config.BeanDefinition parentBeanDefinition, org.springframework.beans.factory.xml.ParserContext parserContext, String propertyName) static void
configureAndSetAdviceChainIfPresent
(Element adviceChainElement, Element txElement, org.springframework.beans.factory.config.BeanDefinition parentBeanDefinition, org.springframework.beans.factory.xml.ParserContext parserContext) static void
configureAndSetAdviceChainIfPresent
(Element adviceChainElement, Element txElement, org.springframework.beans.factory.config.BeanDefinition parentBeanDefinition, org.springframework.beans.factory.xml.ParserContext parserContext, String propertyName) static void
configureHeaderMapper
(Element element, org.springframework.beans.factory.support.BeanDefinitionBuilder rootBuilder, org.springframework.beans.factory.xml.ParserContext parserContext, Class<?> headerMapperClass, String replyHeaderValue) Utility method to configure a HeaderMapper for Inbound and Outbound channel adapters/gateway.static void
configureHeaderMapper
(Element element, org.springframework.beans.factory.support.BeanDefinitionBuilder rootBuilder, org.springframework.beans.factory.xml.ParserContext parserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder headerMapperBuilder, String replyHeaderValueArg) Utility method to configure a HeaderMapper for Inbound and Outbound channel adapters/gateway.static void
configurePollerMetadata
(Element pollerElement, org.springframework.beans.factory.support.BeanDefinitionBuilder targetBuilder, org.springframework.beans.factory.xml.ParserContext parserContext) Parse a "poller" element to provide a reference for the target BeanDefinitionBuilder.static org.springframework.beans.factory.config.BeanDefinition
configureTransactionAttributes
(Element txElement) Parse a "transactional" element and configure aTransactionInterceptor
with "transactionManager" and other "transactionDefinition" properties.static org.springframework.beans.factory.config.BeanDefinition
configureTransactionAttributes
(Element txElement, boolean handleMessageAdvice) Parse a "transactional" element and configure aTransactionInterceptor
orTransactionHandleMessageAdvice
with "transactionManager" and other "transactionDefinition" properties.static org.springframework.beans.factory.config.BeanDefinition
configureTransactionDefinition
(Element txElement) Parse attributes of "transactional" element and configure aDefaultTransactionAttribute
with provided "transactionDefinition" properties.static String
createDirectChannel
(Element element, org.springframework.beans.factory.xml.ParserContext parserContext) static String
createElementDescription
(Element element) Provides a user friendly description of an element based on its node name and, if available, its "id" attribute value.static org.springframework.beans.factory.config.BeanDefinition
createExpressionDefIfAttributeDefined
(String expressionElementName, Element element) static org.springframework.beans.factory.config.BeanDefinition
createExpressionDefinitionFromValueOrExpression
(String valueElementName, String expressionElementName, org.springframework.beans.factory.xml.ParserContext parserContext, Element element, boolean oneRequired) static String[]
generateAlias
(Element element) static String
getTextFromAttributeOrNestedElement
(Element element, String name, org.springframework.beans.factory.xml.ParserContext parserContext) Get a text value from a named attribute if it exists, otherwise check for a nested element of the same name.static void
injectConstructorWithAdapter
(String beanRefAttribute, String methodRefAttribute, String expressionAttribute, String adapterClass, Element element, org.springframework.beans.factory.support.BeanDefinitionBuilder builder, org.springframework.beans.BeanMetadataElement processor, org.springframework.beans.factory.xml.ParserContext parserContext) static void
injectPropertyWithAdapter
(String beanRefAttribute, String methodRefAttribute, String expressionAttribute, String beanProperty, String adapterClass, Element element, org.springframework.beans.factory.support.BeanDefinitionBuilder builder, org.springframework.beans.BeanMetadataElement processor, org.springframework.beans.factory.xml.ParserContext parserContext) static org.springframework.beans.factory.parsing.BeanComponentDefinition
parseInnerHandlerDefinition
(Element element, org.springframework.beans.factory.xml.ParserContext parserContext) static void
setReferenceIfAttributeDefined
(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, Element element, String attributeName) Configures the provided bean definition builder with a property reference to a bean.static void
setReferenceIfAttributeDefined
(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, Element element, String attributeName, boolean emptyStringAllowed) static void
setReferenceIfAttributeDefined
(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, Element element, String attributeName, String propertyName) Configures the provided bean definition builder with a property reference to a bean.static void
setReferenceIfAttributeDefined
(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, Element element, String attributeName, String propertyName, boolean emptyStringAllowed) static void
setValueIfAttributeDefined
(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, Element element, String attributeName) Configures the provided bean definition builder with a property value corresponding to the attribute whose name is provided if that attribute is defined in the given element.static void
setValueIfAttributeDefined
(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, Element element, String attributeName, boolean emptyStringAllowed) Configures the provided bean definition builder with a property value corresponding to the attribute whose name is provided if that attribute is defined in the given element.static void
setValueIfAttributeDefined
(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, Element element, String attributeName, String propertyName) Configures the provided bean definition builder with a property value corresponding to the attribute whose name is provided if that attribute is defined in the given element.static void
setValueIfAttributeDefined
(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, Element element, String attributeName, String propertyName, boolean emptyStringAllowed) Configures the provided bean definition builder with a property value corresponding to the attribute whose name is provided if that attribute is defined in the given element.
-
Field Details
-
REF_ATTRIBUTE
- See Also:
-
VALUE_ATTRIBUTE
- See Also:
-
METHOD_ATTRIBUTE
- See Also:
-
ORDER
- See Also:
-
EXPRESSION_ATTRIBUTE
- See Also:
-
REQUEST_HANDLER_ADVICE_CHAIN
- See Also:
-
AUTO_STARTUP
- See Also:
-
PHASE
- See Also:
-
ROLE
- See Also:
-
-
Constructor Details
-
IntegrationNamespaceUtils
public IntegrationNamespaceUtils()
-
-
Method Details
-
setValueIfAttributeDefined
public static void setValueIfAttributeDefined(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, Element element, String attributeName, String propertyName) Configures the provided bean definition builder with a property value corresponding to the attribute whose name is provided if that attribute is defined in the given element.- Parameters:
builder
- the bean definition builder to be configuredelement
- the XML element where the attribute should be definedattributeName
- the name of the attribute whose value will be used to populate the propertypropertyName
- the name of the property to be populated
-
setValueIfAttributeDefined
public static void setValueIfAttributeDefined(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, Element element, String attributeName) Configures the provided bean definition builder with a property value corresponding to the attribute whose name is provided if that attribute is defined in the given element.The property name will be the camel-case equivalent of the lower case hyphen separated attribute (e.g. the "foo-bar" attribute would match the "fooBar" property).
- Parameters:
builder
- the bean definition builder to be configuredelement
- - the XML element where the attribute should be definedattributeName
- - the name of the attribute whose value will be set on the property- See Also:
-
Conventions.attributeNameToPropertyName(String)
-
setValueIfAttributeDefined
public static void setValueIfAttributeDefined(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, Element element, String attributeName, String propertyName, boolean emptyStringAllowed) Configures the provided bean definition builder with a property value corresponding to the attribute whose name is provided if that attribute is defined in the given element.- Parameters:
builder
- the bean definition builder to be configuredelement
- the XML element where the attribute should be definedattributeName
- the name of the attribute whose value will be used to populate the propertypropertyName
- the name of the property to be populatedemptyStringAllowed
- - if true, the value is set, even if an empty String (""); if false, an empty String is treated as if the attribute wasn't provided.
-
setValueIfAttributeDefined
public static void setValueIfAttributeDefined(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, Element element, String attributeName, boolean emptyStringAllowed) Configures the provided bean definition builder with a property value corresponding to the attribute whose name is provided if that attribute is defined in the given element.The property name will be the camel-case equivalent of the lower case hyphen separated attribute (e.g. the "foo-bar" attribute would match the "fooBar" property).
- Parameters:
builder
- the bean definition builder to be configuredelement
- - the XML element where the attribute should be definedattributeName
- - the name of the attribute whose value will be set on the propertyemptyStringAllowed
- - if true, the value is set, even if an empty String (""); if false, an empty String is treated as if the attribute wasn't provided.- See Also:
-
Conventions.attributeNameToPropertyName(String)
-
setReferenceIfAttributeDefined
public static void setReferenceIfAttributeDefined(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, Element element, String attributeName, String propertyName) Configures the provided bean definition builder with a property reference to a bean. The bean reference is identified by the value from the attribute whose name is provided if that attribute is defined in the given element.- Parameters:
builder
- the bean definition builder to be configuredelement
- the XML element where the attribute should be definedattributeName
- the name of the attribute whose value will be used as a bean reference to populate the propertypropertyName
- the name of the property to be populated
-
setReferenceIfAttributeDefined
-
setReferenceIfAttributeDefined
public static void setReferenceIfAttributeDefined(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, Element element, String attributeName) Configures the provided bean definition builder with a property reference to a bean. The bean reference is identified by the value from the attribute whose name is provided if that attribute is defined in the given element.The property name will be the camel-case equivalent of the lower case hyphen separated attribute (e.g. the "foo-bar" attribute would match the "fooBar" property).
- Parameters:
builder
- the bean definition builder to be configuredelement
- - the XML element where the attribute should be definedattributeName
- - the name of the attribute whose value will be used as a bean reference to populate the property- See Also:
-
Conventions.attributeNameToPropertyName(String)
-
setReferenceIfAttributeDefined
-
createElementDescription
Provides a user friendly description of an element based on its node name and, if available, its "id" attribute value. This is useful for creating error messages from within bean definition parsers.- Parameters:
element
- The element.- Returns:
- The description.
-
configurePollerMetadata
public static void configurePollerMetadata(Element pollerElement, org.springframework.beans.factory.support.BeanDefinitionBuilder targetBuilder, org.springframework.beans.factory.xml.ParserContext parserContext) Parse a "poller" element to provide a reference for the target BeanDefinitionBuilder. If the poller element does not contain a "ref" attribute, this will create and register a PollerMetadata instance and then add it as a property reference of the target builder.- Parameters:
pollerElement
- the "poller" element to parsetargetBuilder
- the builder that expects the "trigger" propertyparserContext
- the parserContext for the target builder
-
getTextFromAttributeOrNestedElement
public static String getTextFromAttributeOrNestedElement(Element element, String name, org.springframework.beans.factory.xml.ParserContext parserContext) Get a text value from a named attribute if it exists, otherwise check for a nested element of the same name. If both are specified it is an error, but if neither is specified, just returns null.- Parameters:
element
- a DOM nodename
- the name of the property (attribute or child element)parserContext
- the current context- Returns:
- the text from the attribute or element or null
-
parseInnerHandlerDefinition
public static org.springframework.beans.factory.parsing.BeanComponentDefinition parseInnerHandlerDefinition(Element element, org.springframework.beans.factory.xml.ParserContext parserContext) -
configureHeaderMapper
public static void configureHeaderMapper(Element element, org.springframework.beans.factory.support.BeanDefinitionBuilder rootBuilder, org.springframework.beans.factory.xml.ParserContext parserContext, Class<?> headerMapperClass, String replyHeaderValue) Utility method to configure a HeaderMapper for Inbound and Outbound channel adapters/gateway.- Parameters:
element
- The element.rootBuilder
- The root builder.parserContext
- The parser context.headerMapperClass
- The header mapper class.replyHeaderValue
- The reply header value.
-
configureHeaderMapper
public static void configureHeaderMapper(Element element, org.springframework.beans.factory.support.BeanDefinitionBuilder rootBuilder, org.springframework.beans.factory.xml.ParserContext parserContext, org.springframework.beans.factory.support.BeanDefinitionBuilder headerMapperBuilder, @Nullable String replyHeaderValueArg) Utility method to configure a HeaderMapper for Inbound and Outbound channel adapters/gateway.- Parameters:
element
- The element.rootBuilder
- The root builder.parserContext
- The parser context.headerMapperBuilder
- The header mapper builder.replyHeaderValueArg
- The reply header value.
-
configureTransactionAttributes
public static org.springframework.beans.factory.config.BeanDefinition configureTransactionAttributes(Element txElement) Parse a "transactional" element and configure aTransactionInterceptor
with "transactionManager" and other "transactionDefinition" properties. For example, this advisor will be applied on the Polling Task proxy.- Parameters:
txElement
- The transactional element.- Returns:
- The bean definition.
- See Also:
-
configureTransactionAttributes
public static org.springframework.beans.factory.config.BeanDefinition configureTransactionAttributes(Element txElement, boolean handleMessageAdvice) Parse a "transactional" element and configure aTransactionInterceptor
orTransactionHandleMessageAdvice
with "transactionManager" and other "transactionDefinition" properties. For example, this advisor will be applied on the Polling Task proxy.- Parameters:
txElement
- The transactional element.handleMessageAdvice
- flag if to useTransactionHandleMessageAdvice
or regularTransactionInterceptor
- Returns:
- The bean definition.
- See Also:
-
configureTransactionDefinition
public static org.springframework.beans.factory.config.BeanDefinition configureTransactionDefinition(Element txElement) Parse attributes of "transactional" element and configure aDefaultTransactionAttribute
with provided "transactionDefinition" properties.- Parameters:
txElement
- The transactional element.- Returns:
- The bean definition.
-
generateAlias
-
configureAndSetAdviceChainIfPresent
-
configureAndSetAdviceChainIfPresent
-
configureAndSetAdviceChainIfPresent
-
configureAndSetAdviceChainIfPresent
-
configureAdviceChain
-
configureAdviceChain
public static org.springframework.beans.factory.support.ManagedList configureAdviceChain(Element adviceChainElement, Element txElement, boolean handleMessageAdvice, org.springframework.beans.factory.config.BeanDefinition parentBeanDefinition, org.springframework.beans.factory.xml.ParserContext parserContext) -
createExpressionDefinitionFromValueOrExpression
-
createExpressionDefIfAttributeDefined
-
createDirectChannel
-
checkAndConfigureFixedSubscriberChannel
-
injectPropertyWithAdapter
public static void injectPropertyWithAdapter(String beanRefAttribute, String methodRefAttribute, String expressionAttribute, String beanProperty, String adapterClass, Element element, org.springframework.beans.factory.support.BeanDefinitionBuilder builder, org.springframework.beans.BeanMetadataElement processor, org.springframework.beans.factory.xml.ParserContext parserContext) -
injectConstructorWithAdapter
public static void injectConstructorWithAdapter(String beanRefAttribute, String methodRefAttribute, String expressionAttribute, String adapterClass, Element element, org.springframework.beans.factory.support.BeanDefinitionBuilder builder, org.springframework.beans.BeanMetadataElement processor, org.springframework.beans.factory.xml.ParserContext parserContext)
-