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 @XmlAttribute
16 private int anInteger = 1;
17
18 @XmlAttribute
19 private long aLong = 2L;
20
21 @XmlElementWrapper
22 @XmlElement(name = "item")
23 private Collection<JsonItem> nullCollection = null;
24
25 @XmlElementWrapper
26 @XmlElement
27 private Collection<JsonItem> emptyCollection = Lists.newArrayList();
28
29 @XmlElementWrapper
30 @XmlElement(name = "item")
31 private Collection<JsonItem> singletonCollection = Lists.newArrayList(new JsonItem("item1"));
32
33 @XmlElementWrapper
34 private Map<String, String> singletonMap = Collections.singletonMap("foo", "bar");
35
36 @XmlRootElement
37 public static class JsonItem {
38 @XmlAttribute
39 private String name;
40
41 public JsonItem() {
42 }
43
44 public JsonItem(String name) {
45 this.name = name;
46 }
47 }
48 }