org.springframework.integration.router
Class PayloadTypeRouter

java.lang.Object
  extended by org.springframework.integration.context.IntegrationObjectSupport
      extended by org.springframework.integration.handler.AbstractMessageHandler
          extended by org.springframework.integration.router.AbstractMessageRouter
              extended by org.springframework.integration.router.PayloadTypeRouter
All Implemented Interfaces:
BeanFactoryAware, BeanNameAware, InitializingBean, Ordered, NamedComponent, Orderable, MessageHandler, TrackableComponent

public class PayloadTypeRouter
extends AbstractMessageRouter

A Message Router that resolves the MessageChannel based on the Message's payload type.


Field Summary
 
Fields inherited from class org.springframework.integration.router.AbstractMessageRouter
channelIdentifierMap
 
Fields inherited from class org.springframework.integration.handler.AbstractMessageHandler
logger
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
PayloadTypeRouter()
           
 
Method Summary
protected  java.util.List<java.lang.Object> getChannelIndicatorList(Message<?> message)
          Will select the most appropriate channel name matching channel identifiers which are fully qualifies class name to type available while traversing payload type.
 
Methods inherited from class org.springframework.integration.router.AbstractMessageRouter
determineTargetChannels, getComponentType, getMessagingTemplate, getRequiredConversionService, handleMessageInternal, onInit, removeChannelMapping, setApplySequence, setChannelIdentifierMap, setChannelMapping, setChannelResolver, setDefaultOutputChannel, setIgnoreChannelNameResolutionFailures, setIgnoreSendFailures, setPrefix, setResolutionRequired, setSuffix, setTimeout
 
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

PayloadTypeRouter

public PayloadTypeRouter()
Method Detail

getChannelIndicatorList

protected java.util.List<java.lang.Object> getChannelIndicatorList(Message<?> message)
Will select the most appropriate channel name matching channel identifiers which are fully qualifies class name to type available while traversing payload type. To resolve ties and conflicts (e.g., Serializable and String) it will match: 1. Type name to channel identifier else... 2. Name of the subclass of the type to channel identifier elc... 3. Name of the Interface of the type to channel identifier while also preferring direct interface over in-direct subclass

Specified by:
getChannelIndicatorList in class AbstractMessageRouter