package org.jboss.seam.wiki.plugin.forum;
import org.jboss.seam.wiki.core.model.WikiDocument;
import org.jboss.seam.wiki.core.model.WikiComment;
import org.jboss.seam.wiki.core.model.WikiDirectory;
public class TopicInfo {
private WikiDirectory forum;
private WikiDocument topic;
private boolean unread;
private boolean sticky;
private boolean replies;
private long numOfReplies;
private WikiComment lastComment;
public TopicInfo(Integer sticky, boolean replies) {
this.sticky = sticky != 0;
this.replies = replies;
}
public TopicInfo(WikiDocument topic) {
this.forum = (WikiDirectory) topic.getParent();
this.topic = topic;
}
public void setTopic(WikiDocument topic) {
this.topic = topic;
}
public WikiDocument getTopic() {
return topic;
}
public WikiDirectory getForum() {
return forum;
}
public boolean isUnread() {
return unread;
}
public void setUnread(boolean unread) {
this.unread = unread;
}
public boolean isSticky() {
return sticky;
}
public void setSticky(boolean sticky) {
this.sticky = sticky;
}
public boolean isReplies() {
return replies;
}
public void setReplies(boolean replies) {
this.replies = replies;
}
public long getNumOfReplies() {
return numOfReplies;
}
public void setNumOfReplies(long numOfReplies) {
this.numOfReplies = numOfReplies;
}
public WikiComment getLastComment() {
return lastComment;
}
public void setLastComment(WikiComment lastComment) {
this.lastComment = lastComment;
}
public String getIconName() {
StringBuilder iconName = new StringBuilder();
iconName.append("posting");
if (isSticky()) {
iconName.append("_sticky");
} else if (!topic.isEnableCommentForm()) {
iconName.append("_locked");
}
if (isUnread()) iconName.append("_unread");
return iconName.toString();
}
public String toString() {
return "TopicInfo(" + getTopic().getId() +
") replies: " + getNumOfReplies() +
", unread: " + isUnread() +
", sticky: " + isSticky() +
", last comment: " + getLastComment();
}
}