Class XPathMessageSplitter
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.AbstractMessageProducingHandler
org.springframework.integration.handler.AbstractReplyProducingMessageHandler
org.springframework.integration.splitter.AbstractMessageSplitter
org.springframework.integration.xml.splitter.XPathMessageSplitter
- All Implemented Interfaces:
org.reactivestreams.Subscriber<org.springframework.messaging.Message<?>>,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanClassLoaderAware,org.springframework.beans.factory.BeanFactoryAware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.DisposableBean,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationContextAware,org.springframework.core.Ordered,org.springframework.integration.context.ExpressionCapable,org.springframework.integration.context.Orderable,org.springframework.integration.core.MessageProducer,org.springframework.integration.handler.DiscardingMessageHandler,org.springframework.integration.handler.HeaderPropagationAware,org.springframework.integration.IntegrationPattern,org.springframework.integration.support.context.NamedComponent,org.springframework.integration.support.management.IntegrationManagement,org.springframework.integration.support.management.TrackableComponent,org.springframework.messaging.MessageHandler,reactor.core.CoreSubscriber<org.springframework.messaging.Message<?>>
public class XPathMessageSplitter
extends org.springframework.integration.splitter.AbstractMessageSplitter
Message Splitter that uses an
XPathExpression to split a
Document, File or String payload into a NodeList.
The return value will be either Strings or Nodes depending on the
received payload type. Additionally, node types will be converted to
Documents if the 'createDocuments' property is set to true.-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
org.springframework.integration.handler.AbstractReplyProducingMessageHandler.RequestHandlerNested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
org.springframework.integration.support.management.IntegrationManagement.ManagementOverrides -
Field Summary
Fields inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
messagingTemplateFields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionXPathMessageSplitter(String expression) XPathMessageSplitter(String expression, Map<String, String> namespaces) XPathMessageSplitter(String expression, Map<String, String> namespaces, TransformerFactory transformerFactory) Construct an instance based on the provided xpath expression, namespaces andTransformerFactory.XPathMessageSplitter(String expression, TransformerFactory transformerFactory) Construct an instance based on the provided xpath expression andTransformerFactory.XPathMessageSplitter(org.springframework.xml.xpath.XPathExpression xpathExpression) XPathMessageSplitter(org.springframework.xml.xpath.XPathExpression xpathExpression, TransformerFactory transformerFactory) Construct an instance based on the provided xpath expression andTransformerFactory. -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoInit()protected intobtainSizeIfPossible(Iterator<?> iterator) voidsetCreateDocuments(boolean createDocuments) voidsetDocumentBuilder(DocumentBuilderFactory documentBuilderFactory) voidsetIterator(boolean iterator) voidsetOutputProperties(Properties outputProperties) A set of output properties that will be used to override any of the same properties in affect for the transformation.voidsetXmlPayloadConverter(XmlPayloadConverter xmlPayloadConverter) protected ObjectsplitMessage(org.springframework.messaging.Message<?> message) Methods inherited from class org.springframework.integration.splitter.AbstractMessageSplitter
addHeaders, getDiscardChannel, getIntegrationPatternType, handleRequestMessage, obtainSizeIfPossible, produceOutput, setApplySequence, setDiscardChannel, setDiscardChannelName, shouldCopyRequestHeaders, willAddHeadersMethods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
doInvokeAdvisedRequestHandler, getBeanClassLoader, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReplyMethods inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, shouldSplitOutput, updateNotPropagatedHeadersMethods inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConventionMethods inherited from class org.springframework.integration.handler.MessageHandlerSupport
buildSendTimer, destroy, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface reactor.core.CoreSubscriber
currentContextMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAsMethods inherited from interface org.springframework.messaging.MessageHandler
handleMessageMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Constructor Details
-
XPathMessageSplitter
-
XPathMessageSplitter
Construct an instance based on the provided xpath expression andTransformerFactory.- Parameters:
expression- the xpath expression for splitting.transformerFactory- theTransformerFactoryfor parsing and building documents.- Since:
- 4.3.19
-
XPathMessageSplitter
-
XPathMessageSplitter
public XPathMessageSplitter(String expression, Map<String, String> namespaces, TransformerFactory transformerFactory) Construct an instance based on the provided xpath expression, namespaces andTransformerFactory.- Parameters:
expression- the xpath expression for splitting.namespaces- the XML namespace for parsing.transformerFactory- theTransformerFactoryfor parsing and building documents.- Since:
- 4.3.19
-
XPathMessageSplitter
public XPathMessageSplitter(org.springframework.xml.xpath.XPathExpression xpathExpression) -
XPathMessageSplitter
public XPathMessageSplitter(org.springframework.xml.xpath.XPathExpression xpathExpression, TransformerFactory transformerFactory) Construct an instance based on the provided xpath expression andTransformerFactory.- Parameters:
xpathExpression- the xpath expression for splitting.transformerFactory- theTransformerFactoryfor parsing and building documents.- Since:
- 4.3.19
-
-
Method Details
-
setCreateDocuments
public void setCreateDocuments(boolean createDocuments) -
getComponentType
- Specified by:
getComponentTypein interfaceorg.springframework.integration.support.context.NamedComponent- Overrides:
getComponentTypein classorg.springframework.integration.splitter.AbstractMessageSplitter
-
setDocumentBuilder
-
setXmlPayloadConverter
-
setIterator
public void setIterator(boolean iterator) Theiteratormode:true(default) to return anIteratorfor splittingpayload,falseto return aList.- Parameters:
iterator-booleanflag for iterator mode. Default totrue.- Since:
- 4.2
-
setOutputProperties
A set of output properties that will be used to override any of the same properties in affect for the transformation.- Parameters:
outputProperties- theTransformeroutput properties.- Since:
- 4.2
- See Also:
-
doInit
protected void doInit()- Overrides:
doInitin classorg.springframework.integration.splitter.AbstractMessageSplitter
-
splitMessage
- Specified by:
splitMessagein classorg.springframework.integration.splitter.AbstractMessageSplitter
-
obtainSizeIfPossible
- Overrides:
obtainSizeIfPossiblein classorg.springframework.integration.splitter.AbstractMessageSplitter
-