1
2
3
4
5
6
7
8
9
10
11 package org.mule.expression;
12
13 import org.mule.api.ExceptionPayload;
14 import org.mule.api.MuleMessage;
15 import org.mule.api.expression.ExpressionEvaluator;
16 import org.mule.util.StringUtils;
17
18 import org.apache.commons.logging.Log;
19 import org.apache.commons.logging.LogFactory;
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 public class MessageExpressionEvaluator implements ExpressionEvaluator
42 {
43 public static final String NAME = "message";
44
45
46
47
48 protected transient final Log logger = LogFactory.getLog(MessagePayloadExpressionEvaluator.class);
49
50 public Object evaluate(String expression, MuleMessage message)
51 {
52 if (StringUtils.isEmpty(expression) || message==null)
53 {
54 return message;
55 }
56 else
57 {
58 if (expression.equals("id"))
59 {
60 return message.getUniqueId();
61 }
62 else if (expression.equals("correlationId"))
63 {
64 return message.getCorrelationId();
65 }
66 else if (expression.equals("correlationSequence"))
67 {
68 return message.getCorrelationSequence();
69 }
70 else if (expression.equals("correlationGroupSize"))
71 {
72 return message.getCorrelationGroupSize();
73 }
74 else if (expression.equals("replyTo"))
75 {
76 return message.getReplyTo();
77 }
78 else if (expression.equals("payload"))
79 {
80 return message.getPayload();
81 }
82 else if (expression.equals("encoding"))
83 {
84 return message.getEncoding();
85 }
86 else if (expression.equals("exception"))
87 {
88 ExceptionPayload ep = message.getExceptionPayload();
89 if (ep != null)
90 {
91 return ep.getException();
92 }
93 return null;
94 }
95 else
96 {
97 throw new IllegalArgumentException(expression);
98 }
99
100 }
101 }
102
103
104
105
106
107 public String getName()
108 {
109 return NAME;
110 }
111
112
113
114
115 public void setName(String name)
116 {
117 throw new UnsupportedOperationException();
118 }
119 }