some changes in the model classes and its xml-descriptions
[mir.git] / source / mir / core / model / MediaType.java
1 /*
2  * MediaType.java
3  * 
4  * Copyright (C) 2001, 2002, 2003 The Mir-coders group
5  *
6  * This file is part of Mir.
7  *
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.
12  *
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.
17  *
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
21  *
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.
31  */
32 package mir.core.model;
33
34 import java.io.Serializable;
35 import java.util.Set;
36
37 import org.apache.commons.lang.builder.EqualsBuilder;
38 import org.apache.commons.lang.builder.HashCodeBuilder;
39 import org.apache.commons.lang.builder.ToStringBuilder;
40
41 /**
42  * 
43  * MediaType
44  * @author idefix
45  * @version $Id: MediaType.java,v 1.3 2003/08/17 19:13:19 idfx Exp $
46  */
47 public class MediaType implements Serializable {
48
49     /** identifier field */
50     private Integer id;
51
52     /** persistent field */
53     private String name;
54
55     /** persistent field */
56     private String mimeType;
57
58     /** persistent field */
59     private String classname;
60
61     /** persistent field */
62     private String tablename;
63
64     /** nullable persistent field */
65     private String dcname;
66     
67     private Set mediaItems;
68
69     /** full constructor */
70     public MediaType(java.lang.String name, java.lang.String mimeType, java.lang.String classname, java.lang.String tablename, java.lang.String dcname) {
71         this.name = name;
72         this.mimeType = mimeType;
73         this.classname = classname;
74         this.tablename = tablename;
75         this.dcname = dcname;
76     }
77
78     /** default constructor */
79     public MediaType() {
80     }
81
82     /** minimal constructor */
83     public MediaType(java.lang.String name, java.lang.String mimeType, java.lang.String classname, java.lang.String tablename) {
84         this.name = name;
85         this.mimeType = mimeType;
86         this.classname = classname;
87         this.tablename = tablename;
88     }
89
90     public java.lang.Integer getId() {
91         return this.id;
92     }
93
94     public void setId(java.lang.Integer id) {
95         this.id = id;
96     }
97
98     public java.lang.String getName() {
99         return this.name;
100     }
101
102     public void setName(java.lang.String name) {
103         this.name = name;
104     }
105
106     public java.lang.String getMimeType() {
107         return this.mimeType;
108     }
109
110     public void setMimeType(java.lang.String mimeType) {
111         this.mimeType = mimeType;
112     }
113
114     public java.lang.String getClassname() {
115         return this.classname;
116     }
117
118     public void setClassname(java.lang.String classname) {
119         this.classname = classname;
120     }
121
122     public java.lang.String getTablename() {
123         return this.tablename;
124     }
125
126     public void setTablename(java.lang.String tablename) {
127         this.tablename = tablename;
128     }
129
130     public java.lang.String getDcname() {
131         return this.dcname;
132     }
133
134     public void setDcname(java.lang.String dcname) {
135         this.dcname = dcname;
136     }
137
138                 /**
139                  * @return
140                  */
141                 public Set getMediaItems() {
142                         return mediaItems;
143                 }
144
145                 /**
146                  * @param mediaItems
147                  */
148                 public void setMediaItems(Set mediaItems) {
149                         this.mediaItems = mediaItems;
150                 }
151
152     public String toString() {
153         return new ToStringBuilder(this)
154             .append("id", getId())
155             .toString();
156     }
157
158     public boolean equals(Object other) {
159         if ( !(other instanceof MediaType) ) return false;
160         MediaType castOther = (MediaType) other;
161         return new EqualsBuilder()
162             .append(this.getId(), castOther.getId())
163             .isEquals();
164     }
165
166     public int hashCode() {
167         return new HashCodeBuilder()
168             .append(getId())
169             .toHashCode();
170     }
171
172 }