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