restoring head
[mir.git] / source / org / codecoop / mir / core / model / UploadedMedia.java
1 /*
2  * $Id: UploadedMedia.java,v 1.1 2004/11/06 16:20:48 idfx Exp $
3  *
4  * Copyright (C) 2001, 2002, 2003, 2004 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 org.codecoop.mir.core.model;
33
34 import java.io.Serializable;
35
36 import org.apache.commons.lang.builder.ToStringBuilder;
37
38 /**
39  * UploadedMedia
40  * 
41  * @author idefix
42  */
43 public class UploadedMedia extends Media implements Serializable {
44
45   /** nullable persistent field */
46   private String publishServer;
47
48   /** nullable persistent field */
49   private String publishPath;
50
51   /** nullable persistent field */
52   private String storagePath;
53
54   private MediaFolder mediaFolder;
55
56   private MediaType mediaType;
57
58   /** persistent field */
59   private boolean iconProduced;
60
61   /** nullable persistent field */
62   private String iconPath;
63
64   /** nullable persistent field */
65   private Integer size;
66
67   private int hashCode;
68
69   /** default constructor */
70   public UploadedMedia() {
71   }
72
73   public String getPublishServer() {
74     return this.publishServer;
75   }
76
77   public void setPublishServer(String publishServer) {
78     this.publishServer = publishServer;
79   }
80
81   public String getPublishPath() {
82     return this.publishPath;
83   }
84
85   public void setPublishPath(String publishPath) {
86     this.publishPath = publishPath;
87   }
88
89   public String getStoragePath() {
90     return this.storagePath;
91   }
92
93   public void setStoragePath(String storagePath) {
94     this.storagePath = storagePath;
95   }
96
97   public boolean isIconProduced() {
98     return this.iconProduced;
99   }
100
101   public void setIconProduced(boolean iconProduced) {
102     this.iconProduced = iconProduced;
103   }
104
105   public String getIconPath() {
106     return this.iconPath;
107   }
108
109   public void setIconPath(String iconPath) {
110     this.iconPath = iconPath;
111   }
112
113   public Integer getSize() {
114     return this.size;
115   }
116
117   public void setSize(Integer size) {
118     this.size = size;
119   }
120
121   /**
122    * @return Returns the mediaFolder.
123    */
124   public MediaFolder getMediaFolder() {
125     return mediaFolder;
126   }
127
128   /**
129    * @param mediaFolder
130    *          The mediaFolder to set.
131    */
132   public void setMediaFolder(MediaFolder mediaFolder) {
133     this.mediaFolder = mediaFolder;
134   }
135
136   /**
137    * @return Returns the mediaType.
138    */
139   public MediaType getMediaType() {
140     return mediaType;
141   }
142
143   /**
144    * @param mediaType
145    *          The mediaType to set.
146    */
147   public void setMediaType(MediaType mediaType) {
148     this.mediaType = mediaType;
149   }
150
151   public boolean equals(Object obj) {
152     if (null == obj) {
153       return false;
154     }
155     if (!(obj instanceof UploadedMedia)) {
156       return false;
157     } else {
158       UploadedMedia mObj = (UploadedMedia) obj;
159       if (null == this.getId() || null == mObj.getId()) {
160         return false;
161       } else {
162         return (this.getId().equals(mObj.getId()));
163       }
164     }
165   }
166   
167   public int hashCode() {
168     if (Integer.MIN_VALUE == this.hashCode) {
169       if (null == this.getId()){
170         return super.hashCode();
171       } else {
172         String hashStr = this.getClass().getName() + ":"
173             + this.getId().hashCode();
174         this.hashCode = hashStr.hashCode();
175       }
176     }
177     return this.hashCode;
178   }
179   
180   public String toString() {
181     return new ToStringBuilder(this).append("id", getId()).toString();
182   }
183
184 }