public class XPathMessageSplitter extends AbstractMessageSplitter
XPathExpression
to split a
Document
, File
or String
payload into a NodeList
.
The return value will be either Strings or Node
s depending on the
received payload type. Additionally, node types will be converted to
Documents if the 'createDocuments' property is set to true
.AbstractReplyProducingMessageHandler.RequestHandler
messagingTemplate
logger
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
XPathMessageSplitter(String expression) |
XPathMessageSplitter(String expression,
Map<String,String> namespaces) |
XPathMessageSplitter(XPathExpression xpathExpression) |
Modifier and Type | Method and Description |
---|---|
protected void |
doInit() |
String |
getComponentType()
Subclasses may implement this method to provide component type information.
|
void |
setCreateDocuments(boolean createDocuments) |
void |
setDocumentBuilder(DocumentBuilderFactory documentBuilderFactory) |
void |
setIterator(boolean iterator)
|
void |
setOutputProperties(Properties outputProperties)
A set of output properties that will be
used to override any of the same properties in affect
for the transformation.
|
void |
setXmlPayloadConverter(XmlPayloadConverter xmlPayloadConverter) |
protected Object |
splitMessage(Message<?> message)
Subclasses must override this method to split the received Message.
|
addHeaders, handleRequestMessage, produceOutput, setApplySequence, shouldCopyRequestHeaders, willAddHeaders
doInvokeAdvisedRequestHandler, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReply
getOutputChannel, sendOutputs, setOutputChannel, setOutputChannelName, setSendTimeout, shouldSplitOutput
configureMetrics, getActiveCount, getActiveCountLong, getDuration, getErrorCount, getErrorCountLong, getHandleCount, getHandleCountLong, getManagedName, getManagedType, getMaxDuration, getMeanDuration, getMinDuration, getOrder, getStandardDeviationDuration, handleMessage, isCountsEnabled, isLoggingEnabled, isStatsEnabled, reset, setCountsEnabled, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, setStatsEnabled
afterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setTaskScheduler, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getComponentName
public XPathMessageSplitter(String expression)
public XPathMessageSplitter(XPathExpression xpathExpression)
public void setCreateDocuments(boolean createDocuments)
public String getComponentType()
IntegrationObjectSupport
getComponentType
in interface NamedComponent
getComponentType
in class AbstractMessageSplitter
public void setDocumentBuilder(DocumentBuilderFactory documentBuilderFactory)
public void setXmlPayloadConverter(XmlPayloadConverter xmlPayloadConverter)
public void setIterator(boolean iterator)
iterator
mode: true
(default) to return an Iterator
for splitting payload
, false
to return a List
.iterator
- boolean
flag for iterator mode. Default to true
.public void setOutputProperties(Properties outputProperties)
outputProperties
- the Transformer
output properties.Transformer.setOutputProperties(Properties)
protected void doInit()
doInit
in class AbstractReplyProducingMessageHandler
protected Object splitMessage(Message<?> message)
AbstractMessageSplitter
splitMessage
in class AbstractMessageSplitter
message
- The message.