📄 forummessage.java
字号:
/*
* Copyright 2003-2005 the original author or authors.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package com.jdon.jivejdon.model;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import org.compass.annotations.Searchable;
import org.compass.annotations.SearchableComponent;
import org.compass.annotations.SearchableId;
import org.compass.annotations.SearchableReference;
import com.jdon.annotation.Model;
import com.jdon.jivejdon.model.message.MessageRenderSpecification;
import com.jdon.jivejdon.model.message.MessageVO;
/**
*
* ForumMessage is a message in Forum.
*
* ForumMessageDecorator is its child class.
*
* @author <a href="mailto:banqiao@jdon.com">banq</a>
*
*/
@Searchable
@Model
public class ForumMessage extends ForumModel {
@SearchableId
private Long messageId;
private String creationDate;
private String modifiedDate;
private DateFormat dateTime_formatter;// remmeber its datatime, so can transfer String to Date;
private Account account; // owner
private Account operator; // operator this message,maybe Admin or others;
private volatile ForumThread forumThread;
@SearchableReference
private Forum forum;
@SearchableComponent
private MessageVO messageVO;
//messageVO is permitted filtered if loading for modified
private boolean messageVOisPermitFiltered;
//check messageVO is or filterd, this is cached
private boolean filtered;
//render the messageVO filter Specification collection
private Collection outFilters;
// for upload files lazyload
private Collection uploadFiles;
public ForumMessage() {
this.messageVO = new MessageVO(this);
uploadFiles = new ArrayList();
}
/**
* @return Returns the account.
*/
public com.jdon.jivejdon.model.Account getAccount() {
return account;
}
/**
* @param account
* The account to set.
*/
public void setAccount(com.jdon.jivejdon.model.Account account) {
this.account = account;
}
public Account getOperator() {
return operator;
}
public void setOperator(Account operator) {
this.operator = operator;
}
/**
* @return Returns the creationDate.
*/
public String getCreationDate() {
return creationDate;
}
/**
* @param creationDate
* The creationDate to set.
*/
public void setCreationDate(String creationDate) {
this.creationDate = creationDate;
}
/**
* @return Returns the messageId.
*/
public Long getMessageId() {
return messageId;
}
/**
* @param messageId
* The messageId to set.
*/
public void setMessageId(Long messageId) {
this.messageId = messageId;
}
/**
* @return Returns the modifiedDate.
*/
public String getModifiedDate() {
return modifiedDate;
}
/**
* @param modifiedDate
* The modifiedDate to set.
*/
public void setModifiedDate(String modifiedDate) {
this.modifiedDate = modifiedDate;
}
/**
* @return Returns the forumThread.
*/
public ForumThread getForumThread() {
return forumThread;
}
/**
* @param forumThread
* The forumThread to set.
*/
public void setForumThread(ForumThread forumThread) {
this.forumThread = forumThread;
}
/**
* @return Returns the forum.
*/
public Forum getForum() {
try {
return forum;
} finally {
}
}
/**
* @param forum
* The forum to set.
*/
public void setForum(Forum forum) {
this.forum = forum;
}
public DateFormat getDateTime_formatter() {
return dateTime_formatter;
}
public void setDateTime_formatter(DateFormat dateTime_formatter) {
this.dateTime_formatter = dateTime_formatter;
}
public boolean isLeaf() {
return this.forumThread.isLeaf(this);
}
public MessageVO getMessageVO() {
if (!isFiltered() && !this.isMessageVOisPermitFiltered()){
if (applyFilters())
setFiltered(true);
}
return messageVO;
}
//see setUploadFiles
//public void update(Observable obj,Object arg){
// setFiltered(false);
//}
public void setMessageVO(MessageVO messageVO) {
messageVO.setEntityMessage(this);
this.messageVO = messageVO;
}
public boolean isMessageVOisPermitFiltered() {
return messageVOisPermitFiltered;
}
public void setMessageVOisPermitFiltered(boolean messageVOisPermitFiltered) {
this.messageVOisPermitFiltered = messageVOisPermitFiltered;
}
public boolean isFiltered() {
return filtered;
}
public void setFiltered(boolean filtered) {
this.filtered = filtered;
}
/**
* @return Returns the uploadFiles.
*/
public Collection getUploadFiles() {
return uploadFiles;
}
/**
* @param uploadFiles
* The uploadFiles to set.
*/
public void setUploadFiles(Collection uploadFiles) {
this.uploadFiles = uploadFiles;
//Iterator iter = uploadFiles.iterator();
//while (iter.hasNext()) {
// UploadFile uploadFile = (UploadFile)iter.next();
// //when upload active this update(Observable obj,Object arg)
//uploadFile.addMonitor(this);
//}
}
public boolean applyFilters() {
try {
if (outFilters == null) return false;
Iterator iter = outFilters.iterator();
while(iter.hasNext()){
MessageVO messageVO = ((MessageRenderSpecification) iter.next()).render(this.messageVO);
this.setMessageVO(messageVO);
}
} catch (Exception e) {
System.err.print(e);
return false;
}
return true;
}
public void setOutFilters(Collection outFilters) {
this.outFilters = outFilters;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -