2 * TopicStub.java created on 30.08.2003
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;
44 * @version $Id: Topic.java,v 1.6 2003/12/20 20:27:09 idfx Exp $
46 public class Topic implements Serializable, ITopic {
47 /** identifier field */
49 /** persistent field */
51 /** nullable persistent field */
52 private String description;
53 /** persistent field */
54 private String filename;
55 /** nullable persistent field */
56 private String mainUrl;
57 /** nullable persistent field */
58 private String archivUrl;
59 private Set childTopics;
60 private Topic parentTopic;
72 public String getArchivUrl() {
79 public String getDescription() {
86 public String getFilename() {
93 public Integer getId() {
100 public String getMainUrl() {
107 public String getTitle() {
114 public void setArchivUrl(String string) {
121 public void setDescription(String string) {
122 description = string;
128 public void setFilename(String string) {
135 public void setId(Integer integer) {
142 public void setMainUrl(String string) {
149 public void setTitle(String string) {
156 public Set getChildTopics() {
163 public void setChildTopics(Set set) {
170 public Topic getParentTopic() {
177 public void setParentTopic(Topic topic) {
181 public String toString() {
182 return new ToStringBuilder(this)
183 .append("id", getId())
184 .append("title", getTitle())
188 public boolean equals(Object other) {
189 if (!(other instanceof Topic))
191 Topic castOther = (Topic) other;
192 return new EqualsBuilder()
193 .append(this.getId(), castOther.getId())
197 public int hashCode() {
198 return new HashCodeBuilder().append(getId()).toHashCode();