package org.jboss.resteasy.links.test; import org.jboss.resteasy.annotations.providers.jaxb.json.Mapped; import org.jboss.resteasy.annotations.providers.jaxb.json.XmlNsMap; import org.jboss.resteasy.links.RESTServiceDiscovery; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlID; import javax.xml.bind.annotation.XmlRootElement; import java.util.ArrayList; import java.util.List; @Mapped(namespaceMap = @XmlNsMap(jsonName = "atom", namespace = "http://www.w3.org/2005/Atom")) @XmlRootElement @XmlAccessorType(XmlAccessType.NONE) public class Book { @XmlAttribute private String author; @XmlID @XmlAttribute private String title; @XmlElement // These both fail deserialisation for some reason // @XmlElement(name = "link", namespace = "http://www.w3.org/2005/Atom") // @XmlElementRef private RESTServiceDiscovery rest; private List<Comment> comments = new ArrayList<Comment>(); public Book(String title, String author) { this.author = author; this.title = title; } public Book() { } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public RESTServiceDiscovery getRest() { return rest; } public void setRest(RESTServiceDiscovery rest) { this.rest = rest; } public List<Comment> getComments() { return comments; } public void setComments(List<Comment> comments) { this.comments = comments; } public void addComment(int id, String text){ comments.add(new Comment(id, text, this)); } public Comment getComment(int commentId) { for(Comment c : comments) if(c.getId() == commentId) return c; return null; } }