org.springframework.integration.handler
Class AbstractMessageHandlerAdapter<T>

java.lang.Object
  extended by org.springframework.integration.handler.AbstractMessageHandlerAdapter<T>
All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean, org.springframework.core.Ordered, MessageHandler
Direct Known Subclasses:
DefaultMessageHandlerAdapter, RouterMessageHandlerAdapter, SplitterMessageHandlerAdapter

public abstract class AbstractMessageHandlerAdapter<T>
extends java.lang.Object
implements MessageHandler, org.springframework.core.Ordered, org.springframework.beans.factory.InitializingBean

Base implementation of the MessageHandler interface that creates an invoker for the specified method and target object. It also accepts an implementation of the MessageMapper strategy which it exposes to subclasses for converting the Message to an object. Likewise, if the method has a non-null return value, a reply message will be generated by the mapper.

Author:
Mark Fisher

Field Summary
protected  org.apache.commons.logging.Log logger
           
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
AbstractMessageHandlerAdapter()
           
 
Method Summary
 void afterPropertiesSet()
           
protected abstract  java.lang.Object doHandle(Message message, SimpleMethodInvoker invoker)
          Subclasses must implement this method.
protected  MessageMapper getMapper()
           
 java.lang.String getMethodName()
           
protected  java.lang.Object getObject()
           
 int getOrder()
           
 Message<?> handle(Message<?> message)
           
 boolean isInitialized()
           
 void setMapper(MessageMapper mapper)
           
 void setMethodName(java.lang.String methodName)
           
 void setObject(T object)
           
 void setOrder(int order)
           
protected  void validate()
          Subclasses may override this method to provide validation upon initialization.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected org.apache.commons.logging.Log logger
Constructor Detail

AbstractMessageHandlerAdapter

public AbstractMessageHandlerAdapter()
Method Detail

setObject

public void setObject(T object)

getObject

protected java.lang.Object getObject()

setMethodName

public void setMethodName(java.lang.String methodName)

getMethodName

public java.lang.String getMethodName()

setMapper

public void setMapper(MessageMapper mapper)

getMapper

protected MessageMapper getMapper()

setOrder

public void setOrder(int order)

getOrder

public int getOrder()
Specified by:
getOrder in interface org.springframework.core.Ordered

afterPropertiesSet

public final void afterPropertiesSet()
Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean

isInitialized

public final boolean isInitialized()

handle

public final Message<?> handle(Message<?> message)
Specified by:
handle in interface MessageHandler

validate

protected void validate()
Subclasses may override this method to provide validation upon initialization.


doHandle

protected abstract java.lang.Object doHandle(Message message,
                                             SimpleMethodInvoker invoker)
Subclasses must implement this method. The invoker has been created for the provided target object and method. May return an object of type Message, else rely on the message mapper to convert.