package org.jboss.resteasy.test.cdi.basic.resource; import javax.persistence.Entity; import javax.persistence.Id; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import java.io.Serializable; /** * Book is * 1) a JAXB class, suitable for transport over the network, and * 2) an @Entity class, suitable for JPA storage * * It implements Serializable so that it can be returned from a JAX-RS resource * in its role as EJB. */ @Entity @XmlRootElement(name = "book") @XmlAccessorType(XmlAccessType.FIELD) public class EJBBook implements Serializable { private static final long serialVersionUID = 1L; @XmlElement private int id; @XmlElement @NotNull @Size(min = 1, max = 25) private String name; public EJBBook() { } public EJBBook(final String name) { this.name = name; } public EJBBook(final int id, final String name) { this.id = id; this.name = name; } @Id public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String toString() { return "Book[" + id + "," + name + "]"; } public boolean equals(Object o) { if (o == null || !(o instanceof EJBBook)) { return false; } return name.equals(((EJBBook) o).name); } @Override public int hashCode() { return super.hashCode(); } }