Spring Integration

org.springframework.integration.splitter
Class MethodInvokingSplitter

java.lang.Object
  extended by org.springframework.integration.context.IntegrationObjectSupport
      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.MethodInvokingSplitter
All Implemented Interfaces:
org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.core.Ordered, NamedComponent, Orderable, MessageHandler, MessageProducer, TrackableComponent

public class MethodInvokingSplitter
extends AbstractMessageSplitter

A Message Splitter implementation that invokes the specified method on the given object. The method's return value will be split if it is a Collection or Array. If the return value is not a Collection or Array, then the single Object will be returned as the payload of a single reply Message.

Author:
Mark Fisher

Field Summary
 
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
logger
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
MethodInvokingSplitter(java.lang.Object object)
           
MethodInvokingSplitter(java.lang.Object object, java.lang.reflect.Method method)
           
MethodInvokingSplitter(java.lang.Object object, java.lang.String methodName)
           
 
Method Summary
 void onInit()
          Subclasses may implement this for initialization logic.
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
getComponentType, handleRequestMessage, setApplySequence
 
Methods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
getMessagingTemplate, handleMessageInternal, setChannelResolver, setOutputChannel, setRequiresReply, setSendTimeout, shouldCopyRequestHeaders
 
Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler
getOrder, handleMessage, setOrder, setShouldTrack
 
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, getBeanFactory, getComponentName, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setConversionService, setTaskScheduler, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.springframework.integration.context.NamedComponent
getComponentName
 

Constructor Detail

MethodInvokingSplitter

public MethodInvokingSplitter(java.lang.Object object,
                              java.lang.reflect.Method method)

MethodInvokingSplitter

public MethodInvokingSplitter(java.lang.Object object,
                              java.lang.String methodName)

MethodInvokingSplitter

public MethodInvokingSplitter(java.lang.Object object)
Method Detail

onInit

public void onInit()
Description copied from class: IntegrationObjectSupport
Subclasses may implement this for initialization logic.

Overrides:
onInit in class AbstractReplyProducingMessageHandler

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

Spring Integration