/* * Copyright (c)Rafael Steil * 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 / 1:02:01 PM * The JForum Project * http://www.jforum.net */ package net.jforum.entities; import net.jforum.view.forum.common.ViewCommon; import java.io.Serializable; import java.util.Date; /** * Represents every message post in the system. * * @author Rafael Steil * @version $Id: Post.java,v 1.15 2007/07/25 03:08:15 rafaelsteil Exp $ */ public class Post implements Serializable { private int id; private int topicId; private int forumId; private String formatedTime; private int userId; private Date time; private String text; private String subject; private String postUsername; private boolean bbCodeEnabled = true; private boolean htmlEnabled = true; private boolean smiliesEnabled = true; private boolean signatureEnabled = true; private Date editTime; private int editCount; private String userIp; private boolean canEdit; private KarmaStatus karma; private boolean hasAttachments; private boolean moderate; private int attachs; public Post() { } public Post(int postId) { this.id = postId; } /** * Copy constructor * * @param p The Post to make a copy from */ public Post(Post p) { this.setBbCodeEnabled(p.isBbCodeEnabled()); this.setCanEdit(p.getCanEdit()); this.setEditCount(p.getEditCount()); this.setEditTime(p.getEditTime()); this.setFormatedTime(p.getFormatedTime()); this.setForumId(p.getForumId()); this.setHtmlEnabled(p.isHtmlEnabled()); this.setId(p.getId()); this.setPostUsername(p.getPostUsername()); this.setSignatureEnabled(p.isSignatureEnabled()); this.setSmiliesEnabled(p.isSmiliesEnabled()); this.setSubject(p.getSubject()); this.setText(p.getText()); this.setTime(p.getTime()); this.setTopicId(p.getTopicId()); this.setUserId(p.getUserId()); this.setUserIp(p.getUserIp()); this.setKarma(new KarmaStatus(p.getKarma())); this.setModerate(p.isModerationNeeded()); this.hasAttachments(p.hasAttachments()); } public void setModerate(boolean status) { this.moderate = status; } public boolean isModerate() { return this.isModerationNeeded(); } public boolean isModerationNeeded() { return this.moderate; } public KarmaStatus getKarma() { return this.karma; } public void setKarma(KarmaStatus karma) { this.karma = karma; } /** * Checks if the BB code is enabled * * @return boolean value representing the result */ public boolean isBbCodeEnabled() { return this.bbCodeEnabled; } /** * Gets the total number of times the post was edited * * @return int value with the total number of times the post was edited */ public int getEditCount() { return this.editCount; } /** * Gets the edit time of the post * * @return long value representing the time */ public Date getEditTime() { return this.editTime; } /** * Gets the forum's id the post is associated * * @return int value with the id of the forum */ public int getForumId() { return this.forumId; } /** * Checks if HTML is enabled in the topic * * @return boolean value representing the result */ public boolean isHtmlEnabled() { return this.htmlEnabled; } /** * Gets the ID of the post * * @return int value with the ID */ public int getId() { return this.id; } /** * Gets the username of the user ( an anonymous user ) that have posted the message * * @return String with the username */ public String getPostUsername() { return this.postUsername; } /** * Checks if signature is allowd in the message * * @return boolean representing the result */ public boolean isSignatureEnabled() { return this.signatureEnabled; } /** * Checks if smart Smilies are enabled :) * * @return boolean representing the result */ public boolean isSmiliesEnabled() { return this.smiliesEnabled; } /** * Gets the time, represented as long, of the message post * * @return long representing the post time */ public Date getTime() { return this.time; } /** * Gets the id of the topic this message is associated * * @return int value with the topic id */ public int getTopicId() { return this.topicId; } /** * Gets the ID of the user that have posted the message * * @return int value with the user id */ public int getUserId() { return this.userId; } /** * Gets the IP of the user who have posted the message * * @return String value with the user IP */ public String getUserIp() { return this.userIp; } /** * Sets the status for BB code in the message * * @param bbCodeEnabled <code>true</code> or <code>false</code>, depending the intention */ public void setBbCodeEnabled(boolean bbCodeEnabled) { this.bbCodeEnabled = bbCodeEnabled; } /** * Sets the count times the message was edited * * @param editCount The count time */ public void setEditCount(int editCount) { this.editCount = editCount; } /** * Sets the edit time the message was last edited * * @param editTime long value representing the time */ public void setEditTime(Date editTime) { this.editTime = editTime; } /** * Sets the id of the forum this message belongs to * * @param forumId The forum's id */ public void setForumId(int forumId) { this.forumId = forumId; } /** * Sets the status for HTML code in the message * * @param htmlEnabled <code>true</code> or <code>false</code>, depending the intention */ public void setHtmlEnabled(boolean htmlEnabled) { this.htmlEnabled = htmlEnabled; } /** * Sets the id for the message * * @param id The id */ public void setId(int id) { this.id = id; } /** * Sets the username of the anonymous user that have sent the message * * @param postUsername String with the username */ public void setPostUsername(String postUsername) { this.postUsername = postUsername; } /** * Sets the status for signatures in the message * * @param signatureEnabled <code>true</code> or <code>false</code>, depending the intention */ public void setSignatureEnabled(boolean signatureEnabled) { this.signatureEnabled = signatureEnabled; } /** * Sets the status for smilies in the message * * @param smiliesEnabled <code>true</code> or <code>false</code>, depending the intention */ public void setSmiliesEnabled(boolean smiliesEnabled) { this.smiliesEnabled = smiliesEnabled; } /** * Sets the time the message was sent * * @param time The time */ public void setTime(Date time) { this.time = time; } public void setFormatedTime(String t) { this.formatedTime = t; } public String getFormatedTime() { if (this.formatedTime == null && this.time != null) { this.formatedTime = ViewCommon.formatDate(this.time); } return this.formatedTime; } /** * Sets the id of the topic that the message belongs to * * @param topicId The id of the topic */ public void setTopicId(int topicId) { this.topicId = topicId; } /** * Sets the id of the user that sent the message * * @param userId The user Id */ public void setUserId(int userId) { this.userId = userId; } /** * Gets the message of the post * * @return String containing the text */ public String getText() { return this.text; } /** * Sets the text of the post * * @param text The text to set */ public void setText(String text) { this.text = text; } /** * Gets the subject of the post * * @return String with the subject */ public String getSubject() { return this.subject; } /** * Sets the subject for the message * * @param subject The subject to set */ public void setSubject(String subject) { this.subject = subject; } /** * Sets the IP of the user * * @param userIp The IP address of the user */ public void setUserIp(String userIp) { this.userIp = userIp; } public boolean getCanEdit() { return this.canEdit; } public void setCanEdit(boolean canEdit) { this.canEdit = canEdit; } /** * @return Returns the hasAttachments. */ public boolean hasAttachments() { return this.hasAttachments; } /** * @param hasAttachments The hasAttachments to set. */ public void hasAttachments(boolean hasAttachments) { this.hasAttachments = hasAttachments; } /** * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object o) { if (!(o instanceof Post)) { return false; } return ((Post)o).getId() == this.id; } /** * @see java.lang.Object#hashCode() */ public int hashCode() { return this.id; } //add by pinke public int getAttachs() { return attachs; } public void setAttachs(int attachs) { this.attachs = attachs; } }