org.springframework.integration.aop
Class MethodAnnotationExpressionSource

java.lang.Object
  extended by org.springframework.integration.aop.MethodAnnotationExpressionSource

public class MethodAnnotationExpressionSource
extends java.lang.Object

An ExpressionSource implementation that retrieves the expression string and evaluation context variable names from an annotation.

Since:
2.0
Author:
Mark Fisher

Field Summary
static java.lang.String DEFAULT_ARGUMENT_MAP_VARIABLE_NAME
           
static java.lang.String DEFAULT_EXCEPTION_VARIABLE_NAME
           
static java.lang.String DEFAULT_METHOD_NAME_VARIABLE_NAME
           
static java.lang.String DEFAULT_RETURN_VALUE_VARIABLE_NAME
           
 
Constructor Summary
MethodAnnotationExpressionSource()
           
MethodAnnotationExpressionSource(java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> annotationTypes)
           
 
Method Summary
 java.lang.String getArgumentMapVariableName(java.lang.reflect.Method method)
          Returns the variable name to use in the evaluation context for the Map of arguments.
 java.lang.String[] getArgumentVariableNames(java.lang.reflect.Method method)
          Returns the variable names to be associated with the intercepted method invocation's argument array.
 java.lang.String getChannelName(java.lang.reflect.Method method)
          Returns the channel name to which Messages should be published for this particular method invocation.
 java.lang.String getExceptionVariableName(java.lang.reflect.Method method)
          Returns the variable name to use in the evaluation context for any exception thrown from the method invocation.
 java.lang.String[] getHeaderExpressions(java.lang.reflect.Method method)
          Returns the array of expression strings to be evaluated for any headers that should be set on the published Message.
 java.lang.String getMethodNameVariableName(java.lang.reflect.Method method)
          Returns the variable name to be associated with the intercepted method's name.
 java.lang.String getPayloadExpression(java.lang.reflect.Method method)
          Returns the expression string to be evaluated for creating the Message payload.
 java.lang.String getReturnValueVariableName(java.lang.reflect.Method method)
          Returns the variable name to use in the evaluation context for any return value resulting from the method invocation.
 void setChannelAttributeName(java.lang.String channelAttributeName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_METHOD_NAME_VARIABLE_NAME

public static final java.lang.String DEFAULT_METHOD_NAME_VARIABLE_NAME
See Also:
Constant Field Values

DEFAULT_ARGUMENT_MAP_VARIABLE_NAME

public static final java.lang.String DEFAULT_ARGUMENT_MAP_VARIABLE_NAME
See Also:
Constant Field Values

DEFAULT_RETURN_VALUE_VARIABLE_NAME

public static final java.lang.String DEFAULT_RETURN_VALUE_VARIABLE_NAME
See Also:
Constant Field Values

DEFAULT_EXCEPTION_VARIABLE_NAME

public static final java.lang.String DEFAULT_EXCEPTION_VARIABLE_NAME
See Also:
Constant Field Values
Constructor Detail

MethodAnnotationExpressionSource

public MethodAnnotationExpressionSource()

MethodAnnotationExpressionSource

public MethodAnnotationExpressionSource(java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> annotationTypes)
Method Detail

setChannelAttributeName

public void setChannelAttributeName(java.lang.String channelAttributeName)

getPayloadExpression

public java.lang.String getPayloadExpression(java.lang.reflect.Method method)
Returns the expression string to be evaluated for creating the Message payload.


getHeaderExpressions

public java.lang.String[] getHeaderExpressions(java.lang.reflect.Method method)
Returns the array of expression strings to be evaluated for any headers that should be set on the published Message.


getMethodNameVariableName

public java.lang.String getMethodNameVariableName(java.lang.reflect.Method method)
Returns the variable name to be associated with the intercepted method's name.


getArgumentVariableNames

public java.lang.String[] getArgumentVariableNames(java.lang.reflect.Method method)
Returns the variable names to be associated with the intercepted method invocation's argument array.


getArgumentMapVariableName

public java.lang.String getArgumentMapVariableName(java.lang.reflect.Method method)
Returns the variable name to use in the evaluation context for the Map of arguments. The keys in this map will be determined by the result of the #getArgumentNames(Method) method.


getReturnValueVariableName

public java.lang.String getReturnValueVariableName(java.lang.reflect.Method method)
Returns the variable name to use in the evaluation context for any return value resulting from the method invocation.


getExceptionVariableName

public java.lang.String getExceptionVariableName(java.lang.reflect.Method method)
Returns the variable name to use in the evaluation context for any exception thrown from the method invocation.


getChannelName

public java.lang.String getChannelName(java.lang.reflect.Method method)
Returns the channel name to which Messages should be published for this particular method invocation.