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 }