/* * Copyright (c) JForum Team * All rights reserved. * * Redistribution and use in source and binary forms, * with or without modification, are permitted provided * that the following conditions are met: * * 1) Redistributions of source code must retain the above * copyright notice, this list of conditions and the * following disclaimer. * 2) Redistributions in binary form must reproduce the * above copyright notice, this list of conditions and * the following disclaimer in the documentation and/or * other materials provided with the distribution. * 3) Neither the name of "Rafael Steil" nor * the names of its contributors may be used to endorse * or promote products derived from this software without * specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER * IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE * * This file creating date: Feb 23, 2003 / 12:25:04 PM * The JForum Project * http://www.jforum.net */ package net.jforum.entities; import java.io.Serializable; import java.util.List; import net.jforum.repository.ForumRepository; /** * Represents a specific forum. * * @author Rafael Steil * @version $Id: Forum.java,v 1.13 2007/07/28 14:17:09 rafaelsteil Exp $ */ public class Forum implements Serializable { private int id; private int idCategories; private String name; private String description; private int order; private int totalTopics; private int totalPosts; private int lastPostId; private boolean moderated; private boolean unread; private LastPostInfo lpi; public Forum() { } public Forum(int forumId) { this.id = forumId; } public Forum(Forum f) { this.description = f.getDescription(); this.id = f.getId(); this.idCategories = f.getCategoryId(); this.lastPostId = f.getLastPostId(); this.moderated = f.isModerated(); this.name = f.getName(); this.order = f.getOrder(); this.totalPosts = f.getTotalPosts(); this.totalTopics = f.getTotalTopics(); this.unread = f.getUnread(); this.lpi = f.getLastPostInfo(); } public void setLastPostInfo(LastPostInfo lpi) { this.lpi = lpi; } public LastPostInfo getLastPostInfo() { return this.lpi; } public List getModeratorList() { return ForumRepository.getModeratorList(this.id); } /** * Gets the forum's description * * @return String with the description */ public String getDescription() { return this.description; } /** * Gets the forum's ID * * @return int value representing the ID */ public int getId() { return this.id; } /** * Gets the category which the forum belongs to * * @return int value representing the ID of the category */ public int getCategoryId() { return this.idCategories; } public void setCategoryId(int categoryId){ this.idCategories=categoryId; } /** * Gets the ID of the last post * * @return int value representing the ID of the post */ public int getLastPostId() { return this.lastPostId; } /** * Checks if is a moderated forum * * @return boolean value. <code>true</code> if the forum is moderated, <code>false</code> if not. */ public boolean isModerated() { return this.moderated; } /** * Gets the name of the forum * * @return String with the name */ public String getName() { return this.name; } /** * Gets the order * * @return int value representing the order of the forum */ public int getOrder() { return this.order; } /** * Gets the total number of topics posted in the forum * * @return int value with the total number of the topics */ public int getTotalTopics() { return this.totalTopics; } public boolean getUnread() { return this.unread; } /** * Sets the description. * * @param description The description to set */ public void setDescription(String description) { this.description = description; } /** * Sets the id. * * @param id The id to set */ public void setId(int id) { this.id = id; } /** * Sets the category id * * @param idCategories The ID of the category to set to the forum */ public void setIdCategories(int idCategories) { this.idCategories = idCategories; } /** * Sets the ID of the last post * * @param lastPostId The post id */ public void setLastPostId(int lastPostId) { this.lastPostId = lastPostId; } /** * Sets the moderated flag to the forum * * @param moderated <code>true</code> or <code>false</code> */ public void setModerated(boolean moderated) { this.moderated = moderated; } /** * Sets the name of the forum * * @param name The name to set */ public void setName(String name) { this.name = name; } /** * Sets the order. * * @param order The order to set */ public void setOrder(int order) { this.order = order; } public void setUnread(boolean status) { this.unread = status; } /** * Sets the total number of topics * * @param totalTopics int value with the total number of topics */ public void setTotalTopics(int totalTopics) { this.totalTopics = totalTopics; } public int getTotalPosts() { return this.totalPosts; } public void setTotalPosts(int totalPosts) { this.totalPosts = totalPosts; } /** * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object o) { return ((o instanceof Forum) && (((Forum)o).getId() == this.id)); } /** * @see java.lang.Object#hashCode() */ public int hashCode() { return this.id; } /** * @see Object#toString() */ public String toString() { return "Forum{" + "id=" + id + ", idCategories=" + idCategories + ", name='" + name + '\'' + ", description='" + description + '\'' + ", order=" + order + ", totalTopics=" + totalTopics + ", totalPosts=" + totalPosts + ", lastPostId=" + lastPostId + ", moderated=" + moderated + ", unread=" + unread + ", lpi=" + lpi + '}'; } }