package org.talend.esb.examples.ebook.model;
import java.net.URI;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.xml.bind.annotation.XmlRootElement;
@Entity
@XmlRootElement
public class Book {
@Id
private String id;
private String title;
/*
* See http://dublincore.org/documents/2012/06/14/dcmi-terms/?v=terms#LCSH
*/
@OneToMany(cascade=CascadeType.ALL)
private List<Subject> subjects = new ArrayList<Subject>();
private String language;
private String creator;
private Date birthDate;
private int downloads;
private String publisher;
@OneToMany(cascade=CascadeType.ALL)
private List<Format> formats = new ArrayList<Format>();
private URI links;
private URI cover;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public List<Subject> getSubjects() {
return subjects;
}
public void setSubjects(List<Subject> subjects) {
this.subjects = subjects;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
public String getCreator() {
return creator;
}
public void setCreator(String creator) {
this.creator = creator;
}
public Date getBirthDate() {
return birthDate;
}
public void setBirthDate(Date birthDate) {
this.birthDate = birthDate;
}
public int getDownloads() {
return downloads;
}
public void setDownloads(int downloads) {
this.downloads = downloads;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
public List<Format> getFormats() {
return formats;
}
public void setFormats(List<Format> formats) {
this.formats = formats;
}
public URI getLinks() {
return links;
}
public void setLinks(URI links) {
this.links = links;
}
public void setCover(URI cover) {
this.cover = cover;
}
public URI getCover() {
return cover;
}
@Override
public String toString() {
return getCreator() + " - " + getTitle();
}
}