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;
37 import org.apache.commons.lang.builder.EqualsBuilder;
38 import org.apache.commons.lang.builder.HashCodeBuilder;
39 import org.apache.commons.lang.builder.ToStringBuilder;
45 * @version $Id: Topic.java,v 1.2 2003/08/17 19:13:19 idfx Exp $
47 public class Topic implements Serializable {
49 /** identifier field */
52 /** persistent field */
55 /** nullable persistent field */
56 private String description;
58 /** persistent field */
59 private String filename;
61 /** nullable persistent field */
62 private String mainUrl;
64 /** nullable persistent field */
65 private String archivUrl;
67 /** nullable persistent field */
68 private mir.core.model.Topic parentTopic;
72 /** default constructor */
76 public java.lang.Integer getId() {
80 public void setId(java.lang.Integer id) {
84 public java.lang.String getTitle() {
88 public void setTitle(java.lang.String title) {
92 public java.lang.String getDescription() {
93 return this.description;
96 public void setDescription(java.lang.String description) {
97 this.description = description;
100 public java.lang.String getFilename() {
101 return this.filename;
104 public void setFilename(java.lang.String filename) {
105 this.filename = filename;
108 public java.lang.String getMainUrl() {
112 public void setMainUrl(java.lang.String mainUrl) {
113 this.mainUrl = mainUrl;
116 public java.lang.String getArchivUrl() {
117 return this.archivUrl;
120 public void setArchivUrl(java.lang.String archivUrl) {
121 this.archivUrl = archivUrl;
124 public mir.core.model.Topic getParentTopic() {
125 return this.parentTopic;
128 public void setParentTopic(mir.core.model.Topic parentTopic) {
129 this.parentTopic = parentTopic;
135 public Set getContent() {
142 public void setContent(Set content) {
143 this.content = content;
146 public String toString() {
147 return new ToStringBuilder(this)
148 .append("id", getId())
152 public boolean equals(Object other) {
153 if ( !(other instanceof Topic) ) return false;
154 Topic castOther = (Topic) other;
155 return new EqualsBuilder()
156 .append(this.getId(), castOther.getId())
160 public int hashCode() {
161 return new HashCodeBuilder()