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;
36 import org.apache.commons.lang.builder.EqualsBuilder;
37 import org.apache.commons.lang.builder.HashCodeBuilder;
38 import org.apache.commons.lang.builder.ToStringBuilder;
44 * @version $Id: Feature.java,v 1.2 2003/08/17 19:13:19 idfx Exp $
46 public class Feature implements Serializable {
48 /** identifier field */
51 /** persistent field */
54 /** nullable persistent field */
55 private String description;
57 /** persistent field */
58 private String filename;
60 /** nullable persistent field */
61 private String mainUrl;
63 /** persistent field */
64 private boolean isPublished;
66 /** full constructor */
67 public Feature(java.lang.String title, java.lang.String description, java.lang.String filename, java.lang.String mainUrl, boolean isPublished) {
69 this.description = description;
70 this.filename = filename;
71 this.mainUrl = mainUrl;
72 this.isPublished = isPublished;
75 /** default constructor */
79 /** minimal constructor */
80 public Feature(java.lang.String title, java.lang.String filename, boolean isPublished) {
82 this.filename = filename;
83 this.isPublished = isPublished;
86 public java.lang.Integer getId() {
90 public void setId(java.lang.Integer id) {
94 public java.lang.String getTitle() {
98 public void setTitle(java.lang.String title) {
102 public java.lang.String getDescription() {
103 return this.description;
106 public void setDescription(java.lang.String description) {
107 this.description = description;
110 public java.lang.String getFilename() {
111 return this.filename;
114 public void setFilename(java.lang.String filename) {
115 this.filename = filename;
118 public java.lang.String getMainUrl() {
122 public void setMainUrl(java.lang.String mainUrl) {
123 this.mainUrl = mainUrl;
126 public boolean isIsPublished() {
127 return this.isPublished;
130 public void setIsPublished(boolean isPublished) {
131 this.isPublished = isPublished;
134 public String toString() {
135 return new ToStringBuilder(this)
136 .append("id", getId())
140 public boolean equals(Object other) {
141 if ( !(other instanceof Feature) ) return false;
142 Feature castOther = (Feature) other;
143 return new EqualsBuilder()
144 .append(this.getId(), castOther.getId())
148 public int hashCode() {
149 return new HashCodeBuilder()