public class DelegatingInvocableHandler
extends java.lang.Object
InvocableHandlerMethod
based on the message payload type.
Matches a single, non-annotated parameter or one that is annotated with
Payload
. Matches must be
unambiguous.Constructor and Description |
---|
DelegatingInvocableHandler(java.util.List<org.springframework.messaging.handler.invocation.InvocableHandlerMethod> handlers,
org.springframework.messaging.handler.invocation.InvocableHandlerMethod defaultHandler,
java.lang.Object bean,
org.springframework.beans.factory.config.BeanExpressionResolver beanExpressionResolver,
org.springframework.beans.factory.config.BeanExpressionContext beanExpressionContext)
Construct an instance with the supplied handlers for the bean.
|
DelegatingInvocableHandler(java.util.List<org.springframework.messaging.handler.invocation.InvocableHandlerMethod> handlers,
org.springframework.messaging.handler.invocation.InvocableHandlerMethod defaultHandler,
java.lang.Object bean,
org.springframework.beans.factory.config.BeanExpressionResolver beanExpressionResolver,
org.springframework.beans.factory.config.BeanExpressionContext beanExpressionContext,
org.springframework.beans.factory.BeanFactory beanFactory)
Construct an instance with the supplied handlers for the bean.
|
DelegatingInvocableHandler(java.util.List<org.springframework.messaging.handler.invocation.InvocableHandlerMethod> handlers,
java.lang.Object bean,
org.springframework.beans.factory.config.BeanExpressionResolver beanExpressionResolver,
org.springframework.beans.factory.config.BeanExpressionContext beanExpressionContext)
Construct an instance with the supplied handlers for the bean.
|
Modifier and Type | Method and Description |
---|---|
protected org.springframework.messaging.handler.invocation.InvocableHandlerMethod |
findHandlerForPayload(java.lang.Class<? extends java.lang.Object> payloadClass) |
java.lang.Object |
getBean()
Return the bean for this handler.
|
protected org.springframework.messaging.handler.invocation.InvocableHandlerMethod |
getHandlerForPayload(java.lang.Class<? extends java.lang.Object> payloadClass)
Determine the
InvocableHandlerMethod for the provided type. |
java.lang.String |
getMethodNameFor(java.lang.Object payload)
Return a string representation of the method that will be invoked for this payload.
|
boolean |
hasDefaultHandler() |
java.lang.Object |
invoke(org.springframework.messaging.Message<?> message,
java.lang.Object... providedArgs)
Invoke the method with the given message.
|
protected boolean |
matchHandlerMethod(java.lang.Class<? extends java.lang.Object> payloadClass,
org.springframework.messaging.handler.invocation.InvocableHandlerMethod handler) |
public DelegatingInvocableHandler(java.util.List<org.springframework.messaging.handler.invocation.InvocableHandlerMethod> handlers, java.lang.Object bean, org.springframework.beans.factory.config.BeanExpressionResolver beanExpressionResolver, org.springframework.beans.factory.config.BeanExpressionContext beanExpressionContext)
handlers
- the handlers.bean
- the bean.beanExpressionResolver
- the expression resolver.beanExpressionContext
- the expression context.public DelegatingInvocableHandler(java.util.List<org.springframework.messaging.handler.invocation.InvocableHandlerMethod> handlers, @Nullable org.springframework.messaging.handler.invocation.InvocableHandlerMethod defaultHandler, java.lang.Object bean, org.springframework.beans.factory.config.BeanExpressionResolver beanExpressionResolver, org.springframework.beans.factory.config.BeanExpressionContext beanExpressionContext)
handlers
- the handlers.defaultHandler
- the default handler.bean
- the bean.beanExpressionResolver
- the resolver.beanExpressionContext
- the context.public DelegatingInvocableHandler(java.util.List<org.springframework.messaging.handler.invocation.InvocableHandlerMethod> handlers, @Nullable org.springframework.messaging.handler.invocation.InvocableHandlerMethod defaultHandler, java.lang.Object bean, org.springframework.beans.factory.config.BeanExpressionResolver beanExpressionResolver, org.springframework.beans.factory.config.BeanExpressionContext beanExpressionContext, @Nullable org.springframework.beans.factory.BeanFactory beanFactory)
handlers
- the handlers.defaultHandler
- the default handler.bean
- the bean.beanExpressionResolver
- the resolver.beanExpressionContext
- the context.beanFactory
- the bean factory.public java.lang.Object getBean()
public java.lang.Object invoke(org.springframework.messaging.Message<?> message, java.lang.Object... providedArgs) throws java.lang.Exception
message
- the message.providedArgs
- additional arguments.java.lang.Exception
- raised if no suitable argument resolver can be found,
or the method raised an exception.protected org.springframework.messaging.handler.invocation.InvocableHandlerMethod getHandlerForPayload(java.lang.Class<? extends java.lang.Object> payloadClass)
InvocableHandlerMethod
for the provided type.payloadClass
- the payload class.protected org.springframework.messaging.handler.invocation.InvocableHandlerMethod findHandlerForPayload(java.lang.Class<? extends java.lang.Object> payloadClass)
protected boolean matchHandlerMethod(java.lang.Class<? extends java.lang.Object> payloadClass, org.springframework.messaging.handler.invocation.InvocableHandlerMethod handler)
public java.lang.String getMethodNameFor(java.lang.Object payload)
payload
- the payload.public boolean hasDefaultHandler()