1
2
3
4
5
6
7
8
9
10 package org.mule.module.json.config;
11
12 import org.mule.api.annotations.expression.JsonPath;
13
14 import java.util.HashMap;
15 import java.util.Map;
16
17 import org.codehaus.jackson.JsonNode;
18 import org.codehaus.jackson.node.ArrayNode;
19
20 public class AnnotatedComponent
21 {
22 public Map<String, Object> doStuff(
23 @JsonPath("/foo") JsonNode fooDocument,
24 @JsonPath("/foo/bar[0] = 4") Boolean isBarValue,
25 @JsonPath("/foo/bar[0]") String bar)
26 {
27 Map<String, Object> map = new HashMap<String, Object>(3);
28 map.put("foo", fooDocument);
29 map.put("isBarValue", isBarValue);
30 map.put("bar", bar);
31 return map;
32 }
33
34 public Map<String, Object> doStuff2(
35 @JsonPath("/foo") JsonNode fooDocument,
36 @JsonPath("/foo/bar[1] = 8") Boolean isBarValue,
37 @JsonPath("/foo/bar[1]") Double bar)
38 {
39 Map<String, Object> map = new HashMap<String, Object>(3);
40 map.put("foo", fooDocument);
41 map.put("isBarValue", isBarValue);
42 map.put("bar", bar);
43 return map;
44 }
45
46 public Map<String, Object> doStuff3(
47 @JsonPath("/foo") JsonNode foo,
48 @JsonPath("/foo/bar") ArrayNode barNodes)
49 {
50 Map<String, Object> map = new HashMap<String, Object>(3);
51 map.put("foo", foo);
52 map.put("bar", barNodes);
53 return map;
54 }
55
56 public Map<String, Object> doStuff4(@JsonPath("/faz") JsonNode foo)
57 {
58 Map<String, Object> map = new HashMap<String, Object>(1);
59 map.put("foo", foo);
60 return map;
61 }
62
63 public Map<String, Object> doStuff5(@JsonPath(value = "/faz", optional = true) JsonNode foo)
64 {
65 Map<String, Object> map = new HashMap<String, Object>(1);
66 map.put("foo", foo);
67 return map;
68 }
69 }