View Javadoc

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  }