4 * Copyright (C) 2001, 2002, 2003 The Mir-coders group
6 * This file is part of Mir.
8 * Mir is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * Mir is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with Mir; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 * In addition, as a special exception, The Mir-coders gives permission to link
23 * the code of this program with any library licensed under the Apache Software License,
24 * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
25 * (or with modified versions of the above that use the same license as the above),
26 * and distribute linked combinations including the two. You must obey the
27 * GNU General Public License in all respects for all of the code used other than
28 * the above mentioned libraries. If you modify this file, you may extend this
29 * exception to your version of the file, but you are not obligated to do so.
30 * If you do not wish to do so, delete this exception statement from your version.
32 package mir.core.model;
34 import java.io.Serializable;
35 import java.util.ArrayList;
36 import java.util.GregorianCalendar;
37 import java.util.List;
40 import org.apache.commons.lang.builder.ToStringBuilder;
46 * @version $Id: Content.java,v 1.5 2003/12/20 20:27:09 idfx Exp $
48 public class Content extends Media implements Serializable, IContent {
50 /** persistent field */
51 private boolean isHtml;
53 /** nullable persistent field */
54 private String contentData;
56 /** persistent field */
57 private ArticleType articleType;
59 /** nullable persistent field */
60 private Content parentContent;
62 /** persistent field */
63 private Set childContent;
65 /** persistent field */
68 /** persistent field */
69 private Set attachedMedias;
73 /** default constructor */
77 public boolean isHtml() {
81 public boolean getHtml() {
85 public void setHtml(boolean isHtml) {
89 public java.lang.String getContentData() {
90 return this.contentData;
93 public void setContentData(java.lang.String contentData) {
94 this.contentData = contentData;
97 public ArticleType getArticleType() {
98 return this.articleType;
101 public void setArticleType(ArticleType articleType) {
102 this.articleType = articleType;
105 public mir.core.model.Content getParentContent() {
106 return this.parentContent;
109 public void setParentContent(mir.core.model.Content parentContent) {
110 this.parentContent = parentContent;
113 public Set getChildContent() {
114 return this.childContent;
117 public void setChildContent(Set childContent) {
118 this.childContent = childContent;
121 public Set getTopics() {
125 public void setTopics(Set topics) {
126 this.topics = topics;
129 public Set getAttachedMedias() {
130 return this.attachedMedias;
133 public void setAttachedMedias(Set attachedMedias) {
134 this.attachedMedias = attachedMedias;
140 public Set getComments() {
147 public void setComments(Set set) {
151 public List getOperations(){
152 return new ArrayList();
155 public List getTopicsAsList(){
156 return new ArrayList(getTopics());
159 public String getPublicurl(){
160 GregorianCalendar calendar = new GregorianCalendar();
161 calendar.setTime(getWebdbCreate());
162 calendar.get(GregorianCalendar.YEAR);
163 return "" + calendar.get(GregorianCalendar.YEAR) + "/"
164 + calendar.get(GregorianCalendar.MONTH) + "/"
165 + this.getId() + ".shtml";
168 public int getCommentsSize(){
169 return comments.size();
172 public String toString() {
173 return new ToStringBuilder(this).append("id", getId()).toString();