package org.appfuse.model; import java.util.HashSet; import java.util.Set; import java.util.List; import java.util.Date; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; /** * @hibernate.class table="weblog" */ public class Weblog { private Long weblogId; private String username; private String blogTitle; private Date dateCreated; private List entries; private Set users = new HashSet(); /** * @return Returns the blogTitle. * * @hibernate.property column="blog_title" not-null="true" */ public String getBlogTitle() { return blogTitle; } /** * @param blogTitle * The blogTitle to set. */ public void setBlogTitle(String blogTitle) { this.blogTitle = blogTitle; } /** * @return Returns the dateCreated. * * @hibernate.property column="date_created" */ public Date getDateCreated() { return dateCreated; } /** * @param dateCreated * The dateCreated to set. */ public void setDateCreated(Date dateCreated) { this.dateCreated = dateCreated; } /** * @return Returns the entries. * * @hibernate.bag name="entries" lazy="true" inverse="true" cascade="none" * @hibernate.collection-key column="weblog_id" * @hibernate.collection-one-to-many class="org.appfuse.model.Entry" */ public List getEntries() { return entries; } /** * @param entries * The entries to set. */ public void setEntries(List entries) { this.entries = entries; } /** * @return Returns the username. * * @hibernate.property column="username" not-null="true" */ public String getUsername() { return username; } /** * @param username * The username to set. */ public void setUsername(String username) { this.username = username; } /** * @return Returns the users. * * @hibernate.set table="weblog_user" cascade="none" lazy="false" * @hibernate.collection-key column="weblog_id" * @hibernate.collection-many-to-many class="org.appfuse.model.User" column="username" */ public Set getUsers() { return users; } /** * Adds a user for the weblog * * @param user */ public void addUser(User user) { getUsers().add(user); } /** * @param users * The users to set. */ public void setUsers(Set users) { this.users = users; } /** * @return Returns the weblogId. * * @hibernate.id column="weblog_id" unsaved-value="null" * generator-class="native" */ public Long getWeblogId() { return weblogId; } /** * @param weblogId * The weblogId to set. */ public void setWeblogId(Long weblogId) { this.weblogId = weblogId; } /** * @see java.lang.Object#equals(Object) */ public boolean equals(Object object) { if (!(object instanceof Weblog)) { return false; } Weblog rhs = (Weblog) object; return new EqualsBuilder().append(this.users, rhs.users).append( this.blogTitle, rhs.blogTitle).append(this.weblogId, rhs.weblogId).append(this.username, rhs.username).append( this.entries, rhs.entries).append(this.dateCreated, rhs.dateCreated).isEquals(); } /** * @see java.lang.Object#hashCode() */ public int hashCode() { return new HashCodeBuilder(-1769938895, -2120812053).append(this.users) .append(this.blogTitle).append(this.weblogId).append( this.username).append(this.entries).append( this.dateCreated).toHashCode(); } /** * @see java.lang.Object#toString() */ public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) .append("weblogId", this.weblogId).append("users", this.users) .append("username", this.username).append("blogTitle", this.blogTitle).append("entries", this.entries).append( "dateCreated", this.dateCreated).toString(); } }