package com.aperture_software.glados_wiki.entities; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.commons.lang3.builder.ToStringBuilder; import org.bson.types.ObjectId; import org.mongodb.morphia.annotations.Entity; import org.mongodb.morphia.annotations.Id; import org.mongodb.morphia.annotations.Reference; import java.io.Serializable; import java.util.Date; /** * Created with IntelliJ IDEA. * User: jhyun * Date: 13. Nov. 15 * Time: 14:09 */ @Entity public class PageContent implements Cloneable, Serializable { private static final long serialVersionUID = -7125379314652015115L; @Id private ObjectId id; @Reference(ignoreMissing = true) private Page page; @Reference(ignoreMissing = true) private PageContent parent; private String content; private Date ctime = new Date(); @Reference(ignoreMissing = true) private User creator = null; public ObjectId getId() { return id; } public void setId(ObjectId id) { this.id = id; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public Date getCtime() { return ctime; } public void setCtime(Date ctime) { this.ctime = ctime; } public Page getPage() { return page; } public void setPage(Page page) { this.page = page; } public PageContent getParent() { return parent; } public void setParent(PageContent parent) { this.parent = parent; } public User getCreator() { return creator; } public void setCreator(User creator) { this.creator = creator; } @Override public boolean equals(Object o) { return EqualsBuilder.reflectionEquals(this, o); } @Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(this); } @Override public Object clone() throws CloneNotSupportedException { return super.clone(); } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }