package org.appfuse.model;

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="category"
 */
public class Category {
    private Long categoryId;
    private String categoryName;
    private String categoryDescription;
    
    /**
	 * @return Returns the categoryId.
	 * 
	 * @hibernate.id column="category_id" generator-class="native"
     *               unsaved-value="null"
	 */
	public Long getCategoryId() {
		return categoryId;
	}
	/**
	 * @param categoryId The categoryId to set.
	 */
	public void setCategoryId(Long categoryId) {
		this.categoryId = categoryId;
	}
	/**
	 * @return Returns the categoryDescription.
	 * 
	 * @hibernate.property column="category_description"
	 */
	public String getCategoryDescription() {
		return categoryDescription;
	}
	/**
	 * @param categoryDescription The categoryDescription to set.
	 */
	public void setCategoryDescription(String categoryDescription) {
		this.categoryDescription = categoryDescription;
	}
	/**
	 * @return Returns the categoryName.
	 * 
	 * @hibernate.property column="category_name" not-null="true"
	 */
	public String getCategoryName() {
		return categoryName;
	}
	/**
	 * @param categoryName The categoryName to set.
	 */
	public void setCategoryName(String categoryName) {
		this.categoryName = categoryName;
	}
	
	/**
	 * @see java.lang.Object#equals(Object)
	 */
	public boolean equals(Object object) {
		if (!(object instanceof Category)) {
			return false;
		}
		Category rhs = (Category) object;
		return new EqualsBuilder().append(this.categoryDescription,
				rhs.categoryDescription).append(this.categoryName,
				rhs.categoryName).append(this.categoryId, rhs.categoryId)
				.isEquals();
	}
	/**
	 * @see java.lang.Object#hashCode()
	 */
	public int hashCode() {
		return new HashCodeBuilder(-1813914539, -1000389161).append(
				this.categoryDescription).append(this.categoryName).append(
				this.categoryId).toHashCode();
	}
	/**
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
				.append("categoryName", this.categoryName).append("categoryId",
						this.categoryId).append("categoryDescription",
						this.categoryDescription).toString();
	}
}
