1 package com.atlassian.plugins.rest.json;
2
3 import com.google.common.collect.Lists;
4
5 import javax.xml.bind.annotation.XmlAttribute;
6 import javax.xml.bind.annotation.XmlElement;
7 import javax.xml.bind.annotation.XmlElementWrapper;
8 import javax.xml.bind.annotation.XmlRootElement;
9 import java.util.Collection;
10 import java.util.Collections;
11 import java.util.Map;
12
13 @XmlRootElement
14 public class JsonObject
15 {
16 @XmlAttribute
17 private int anInteger = 1;
18
19 @XmlAttribute
20 private long aLong = 2L;
21
22 @XmlElementWrapper
23 @XmlElement(name = "item")
24 private Collection<JsonItem> nullCollection = null;
25
26 @XmlElementWrapper
27 @XmlElement
28 private Collection<JsonItem> emptyCollection = Lists.newArrayList();
29
30 @XmlElementWrapper
31 @XmlElement(name = "item")
32 private Collection<JsonItem> singletonCollection = Lists.newArrayList(new JsonItem("item1"));
33
34 @XmlElementWrapper
35 private Map<String, String> singletonMap = Collections.singletonMap("foo", "bar");
36
37 @XmlRootElement
38 public static class JsonItem
39 {
40 @XmlAttribute
41 private String name;
42
43 public JsonItem()
44 {
45 }
46
47 public JsonItem(String name)
48 {
49 this.name = name;
50 }
51 }
52 }