Forum.java :  » Forum » JForum-2.1.8 » net » jforum » entities » Java Open Source

Java Open Source » Forum » JForum 2.1.8 
JForum 2.1.8 » net » jforum » entities » Forum.java
/*
 * 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;
  }

  /**
   * 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 java.lang.Object#toString()
   */
  public String toString() {
    return "[" + this.name + ", id=" + this.id + ", order=" + this.order + "]";
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.