package org.hibernate.envers.test.integration.hashcode;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Basic;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import org.hibernate.envers.Audited;
/**
* @author Adam Warski (adam at warski dot org)
*/
@Entity
@Audited
public class WikiPage {
@Id
@GeneratedValue
private Long id;
@Basic
private String title;
@Basic
private String content;
@ElementCollection
private Set<String> links = new HashSet<String>();
@OneToMany
private Set<WikiImage> images = new HashSet<WikiImage>();
public WikiPage() {
}
public WikiPage(String title, String content) {
this.title = title;
this.content = content;
}
public Long getId() {
return id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Set<String> getLinks() {
return links;
}
public void setLinks(Set<String> links) {
this.links = links;
}
public Set<WikiImage> getImages() {
return images;
}
public void setImages(Set<WikiImage> images) {
this.images = images;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof WikiPage)) return false;
WikiPage wikiPage = (WikiPage) o;
if (content != null ? !content.equals(wikiPage.content) : wikiPage.content != null) return false;
if (title != null ? !title.equals(wikiPage.title) : wikiPage.title != null) return false;
return true;
}
@Override
public int hashCode() {
int result = title != null ? title.hashCode() : 0;
result = 31 * result + (content != null ? content.hashCode() : 0);
return result;
}
@Override
public String toString() {
return "WikiPage{" +
"title='" + title + '\'' +
", content='" + content + '\'' +
", links=" + links +
", images=" + images +
'}';
}
}