1
2
3
4
5
6
7
8
9
10
11 package org.mule.transformers.simple;
12
13 import org.mule.config.i18n.MessageFactory;
14 import org.mule.transformers.AbstractTransformer;
15 import org.mule.umo.transformer.TransformerException;
16
17 import java.util.Map;
18
19
20
21
22
23 public class MapLookup extends AbstractTransformer
24 {
25
26 protected volatile Object key;
27
28 public MapLookup()
29 {
30 registerSourceType(Map.class);
31 setReturnClass(Object.class);
32 }
33
34 public Object doTransform(Object src, String encoding) throws TransformerException
35 {
36 if (src instanceof Map)
37 {
38 if (key != null)
39 {
40 return ((Map) src).get(key);
41 }
42 else
43 {
44 throw new TransformerException(MessageFactory
45 .createStaticMessage("Property 'key' must be set in order to use this transformer."));
46 }
47 }
48 else
49 {
50 throw new TransformerException(MessageFactory
51 .createStaticMessage("Message to transform must be of type java.util.Map"));
52 }
53 }
54
55 public Object getKey()
56 {
57 return key;
58 }
59
60 public void setKey(Object key)
61 {
62 this.key = key;
63 }
64
65 }