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  {
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  }