/*************************************************************************** * Copyright (C) 2003-2007 eXo Platform SAS. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Affero General Public License * as published by the Free Software Foundation; either version 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see<http://www.gnu.org/licenses/>. ***************************************************************************/ package org.exoplatform.forum.service; import java.util.Date; import java.util.List; import org.exoplatform.services.jcr.util.IdGenerator; /** * Created by The eXo Platform SARL * March 2, 2007 */ public class Topic { private String id; private String owner; private String path; private Date createdDate; private String modifiedBy; private Date modifiedDate; private String editReason; private String lastPostBy; private Date lastPostDate; private String name; private String description; private long postCount = 0; private long viewCount = 0; private String icon; private String link = ""; private String remoteAddr = ""; private String topicType = ""; private long numberAttachments = 0; private boolean isModeratePost = false; private String isNotifyWhenAddPost = ""; private boolean isClosed = false; private boolean isLock = false; private boolean isApproved = true; private boolean isSticky = false; private boolean isPoll = false; private boolean isWaiting = false; private boolean isActive = true; private boolean isActiveByForum = true; private String[] canView; private String[] canPost; private String[] userVoteRating; private String[] tagId; private String[] emailNotification; private Double voteRating = 0.0; private List<ForumAttachment> attachments; public Topic() { canView = new String[] { "" }; canPost = new String[] { " " }; userVoteRating = new String[] {}; tagId = new String[] {}; emailNotification = new String[] {}; } public String getOwner() { return owner; } public void setOwner(String owner) { this.owner = owner; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public Date getCreatedDate() { return createdDate; } public void setCreatedDate(Date createdDate) { this.createdDate = createdDate; } public String getModifiedBy() { return modifiedBy; } public void setModifiedBy(String modifiedBy) { this.modifiedBy = modifiedBy; } public Date getModifiedDate() { return modifiedDate; } public void setModifiedDate(Date modifiedDate) { this.modifiedDate = modifiedDate; } public String getEditReason() { return editReason; } public void setEditReason(String editReason) { this.editReason = editReason; } public String getLastPostBy() { return lastPostBy; } public void setLastPostBy(String lastPostBy) { this.lastPostBy = lastPostBy; } public Date getLastPostDate() { return lastPostDate; } public void setLastPostDate(Date lastPostDate) { this.lastPostDate = lastPostDate; } public String getTopicName() { return name; } public void setTopicName(String topic) { this.name = topic; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public long getPostCount() { return postCount; } public void setPostCount(long postCount) { this.postCount = postCount; } public long getViewCount() { return viewCount; } public void setViewCount(long viewCount) { this.viewCount = viewCount; } public boolean getIsModeratePost() { return isModeratePost; } public void setIsModeratePost(boolean isModeratePost) { this.isModeratePost = isModeratePost; } public String getIsNotifyWhenAddPost() { return isNotifyWhenAddPost; } public void setIsNotifyWhenAddPost(String isNotifyWhenAddPost) { this.isNotifyWhenAddPost = isNotifyWhenAddPost; } public boolean getIsClosed() { return isClosed; } public void setIsClosed(boolean isClosed) { this.isClosed = isClosed; } public boolean getIsLock() { return isLock; } public void setIsLock(boolean isLock) { this.isLock = isLock; } public String getId() { if (id == null) { id = Utils.TOPIC + IdGenerator.generate(); } return id; } public void setId(String id) { this.id = id; } public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public long getNumberAttachment() { return numberAttachments; } public void setNumberAttachment(long numberAttachments) { this.numberAttachments = numberAttachments; } public boolean getIsApproved() { return isApproved; } public void setIsApproved(boolean isApproved) { this.isApproved = isApproved; } public boolean getIsActiveByForum() { return isActiveByForum; } public void setIsActiveByForum(boolean isActiveByForum) { this.isActiveByForum = isActiveByForum; } public boolean getIsSticky() { return isSticky; } public void setIsSticky(boolean isSticky) { this.isSticky = isSticky; } public String[] getCanView() { return canView; } public void setCanView(String[] canView) { this.canView = canView; } public String[] getCanPost() { return canPost; } public void setCanPost(String[] canPost) { this.canPost = canPost; } public boolean getIsPoll() { return isPoll; } public void setIsPoll(boolean isPoll) { this.isPoll = isPoll; } public String[] getUserVoteRating() { return userVoteRating; } public void setUserVoteRating(String[] userVoteRating) { this.userVoteRating = userVoteRating; } public String[] getTagId() { return tagId; } public void setTagId(String[] tagId) { this.tagId = tagId; } public Double getVoteRating() { return voteRating; } public void setVoteRating(Double voteRating) { this.voteRating = voteRating; } public void setAttachments(List<ForumAttachment> attachments) { this.attachments = attachments; } public List<ForumAttachment> getAttachments() { return this.attachments; } public String getForumId() { return null; } public boolean getIsWaiting() { return isWaiting; } public void setIsWaiting(boolean isWaiting) { this.isWaiting = isWaiting; } public boolean getIsActive() { return isActive; } public void setIsActive(boolean isActive) { this.isActive = isActive; } public String getLink() { return link; } public void setLink(String link) { this.link = link; } public String getRemoteAddr() { return remoteAddr; } public void setRemoteAddr(String remoteAddr) { this.remoteAddr = remoteAddr; } public String getTopicType() { return topicType; } public void setTopicType(String topicType) { this.topicType = topicType; } public String[] getEmailNotification() { return emailNotification; } public void setEmailNotification(String[] emailNotification) { this.emailNotification = emailNotification; } }