org.springframework.integration.splitter
Class ExpressionEvaluatingSplitter

java.lang.Object
  extended by org.springframework.integration.handler.AbstractMessageHandler
      extended by org.springframework.integration.handler.AbstractReplyProducingMessageHandler
          extended by org.springframework.integration.splitter.AbstractMessageSplitter
              extended by org.springframework.integration.splitter.ExpressionEvaluatingSplitter
All Implemented Interfaces:
org.springframework.beans.factory.BeanFactoryAware, org.springframework.core.Ordered, MessageHandler

public class ExpressionEvaluatingSplitter
extends AbstractMessageSplitter

A Message Splitter implementation that evaluates the specified SpEL expression. The result of evaluation will typically be a Collection or Array. If the result is not a Collection or Array, then the single Object will be returned as the payload of a single reply Message.

Since:
2.0
Author:
Mark Fisher

Field Summary
 
Fields inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
DEFAULT_SEND_TIMEOUT
 
Fields inherited from class org.springframework.integration.handler.AbstractMessageHandler
logger
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
ExpressionEvaluatingSplitter(java.lang.String expression)
           
 
Method Summary
protected  java.lang.Object splitMessage(Message<?> message)
          Subclasses must override this method to split the received Message.
 
Methods inherited from class org.springframework.integration.splitter.AbstractMessageSplitter
handleRequestMessage, handleResult
 
Methods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
getOutputChannel, handleMessageInternal, sendReplyMessage, setBeanFactory, setChannelResolver, setOutputChannel, setRequiresReply, setSendTimeout
 
Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler
getOrder, handleMessage, resolveReplyChannel, setOrder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpressionEvaluatingSplitter

public ExpressionEvaluatingSplitter(java.lang.String expression)
Method Detail

splitMessage

protected final java.lang.Object splitMessage(Message<?> message)
Description copied from class: AbstractMessageSplitter
Subclasses must override this method to split the received Message. The return value may be a Collection or Array. The individual elements may be Messages, but it is not necessary. If the elements are not Messages, each will be provided as the payload of a Message. It is also acceptable to return a single Object or Message. In that case, a single reply Message will be produced.

Specified by:
splitMessage in class AbstractMessageSplitter