apply gpl development license
[jalview.git] / src / uk / ac / ebi / picr / model / UPEntry.java
1 /*\r
2  * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)\r
3  * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
4  * \r
5  * This program is free software; you can redistribute it and/or\r
6  * modify it under the terms of the GNU General Public License\r
7  * as published by the Free Software Foundation; either version 2\r
8  * of the License, or (at your option) any later version.\r
9  * \r
10  * This program is distributed in the hope that it will be useful,\r
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13  * GNU General Public License for more details.\r
14  * \r
15  * You should have received a copy of the GNU General Public License\r
16  * along with this program; if not, write to the Free Software\r
17  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
18  */\r
19 package uk.ac.ebi.picr.model;\r
20 \r
21 public class UPEntry implements java.io.Serializable\r
22 {\r
23   private java.lang.String CRC64;\r
24 \r
25   private java.lang.String UPI;\r
26 \r
27   private uk.ac.ebi.picr.model.CrossReference[] identicalCrossReferences;\r
28 \r
29   private uk.ac.ebi.picr.model.CrossReference[] logicalCrossReferences;\r
30 \r
31   private java.lang.String sequence;\r
32 \r
33   private java.util.Calendar timestamp;\r
34 \r
35   public UPEntry()\r
36   {\r
37   }\r
38 \r
39   public UPEntry(java.lang.String CRC64, java.lang.String UPI,\r
40           uk.ac.ebi.picr.model.CrossReference[] identicalCrossReferences,\r
41           uk.ac.ebi.picr.model.CrossReference[] logicalCrossReferences,\r
42           java.lang.String sequence, java.util.Calendar timestamp)\r
43   {\r
44     this.CRC64 = CRC64;\r
45     this.UPI = UPI;\r
46     this.identicalCrossReferences = identicalCrossReferences;\r
47     this.logicalCrossReferences = logicalCrossReferences;\r
48     this.sequence = sequence;\r
49     this.timestamp = timestamp;\r
50   }\r
51 \r
52   /**\r
53    * Gets the CRC64 value for this UPEntry.\r
54    * \r
55    * @return CRC64\r
56    */\r
57   public java.lang.String getCRC64()\r
58   {\r
59     return CRC64;\r
60   }\r
61 \r
62   /**\r
63    * Sets the CRC64 value for this UPEntry.\r
64    * \r
65    * @param CRC64\r
66    */\r
67   public void setCRC64(java.lang.String CRC64)\r
68   {\r
69     this.CRC64 = CRC64;\r
70   }\r
71 \r
72   /**\r
73    * Gets the UPI value for this UPEntry.\r
74    * \r
75    * @return UPI\r
76    */\r
77   public java.lang.String getUPI()\r
78   {\r
79     return UPI;\r
80   }\r
81 \r
82   /**\r
83    * Sets the UPI value for this UPEntry.\r
84    * \r
85    * @param UPI\r
86    */\r
87   public void setUPI(java.lang.String UPI)\r
88   {\r
89     this.UPI = UPI;\r
90   }\r
91 \r
92   /**\r
93    * Gets the identicalCrossReferences value for this UPEntry.\r
94    * \r
95    * @return identicalCrossReferences\r
96    */\r
97   public uk.ac.ebi.picr.model.CrossReference[] getIdenticalCrossReferences()\r
98   {\r
99     return identicalCrossReferences;\r
100   }\r
101 \r
102   /**\r
103    * Sets the identicalCrossReferences value for this UPEntry.\r
104    * \r
105    * @param identicalCrossReferences\r
106    */\r
107   public void setIdenticalCrossReferences(\r
108           uk.ac.ebi.picr.model.CrossReference[] identicalCrossReferences)\r
109   {\r
110     this.identicalCrossReferences = identicalCrossReferences;\r
111   }\r
112 \r
113   public uk.ac.ebi.picr.model.CrossReference getIdenticalCrossReferences(\r
114           int i)\r
115   {\r
116     return this.identicalCrossReferences[i];\r
117   }\r
118 \r
119   public void setIdenticalCrossReferences(int i,\r
120           uk.ac.ebi.picr.model.CrossReference _value)\r
121   {\r
122     this.identicalCrossReferences[i] = _value;\r
123   }\r
124 \r
125   /**\r
126    * Gets the logicalCrossReferences value for this UPEntry.\r
127    * \r
128    * @return logicalCrossReferences\r
129    */\r
130   public uk.ac.ebi.picr.model.CrossReference[] getLogicalCrossReferences()\r
131   {\r
132     return logicalCrossReferences;\r
133   }\r
134 \r
135   /**\r
136    * Sets the logicalCrossReferences value for this UPEntry.\r
137    * \r
138    * @param logicalCrossReferences\r
139    */\r
140   public void setLogicalCrossReferences(\r
141           uk.ac.ebi.picr.model.CrossReference[] logicalCrossReferences)\r
142   {\r
143     this.logicalCrossReferences = logicalCrossReferences;\r
144   }\r
145 \r
146   public uk.ac.ebi.picr.model.CrossReference getLogicalCrossReferences(int i)\r
147   {\r
148     return this.logicalCrossReferences[i];\r
149   }\r
150 \r
151   public void setLogicalCrossReferences(int i,\r
152           uk.ac.ebi.picr.model.CrossReference _value)\r
153   {\r
154     this.logicalCrossReferences[i] = _value;\r
155   }\r
156 \r
157   /**\r
158    * Gets the sequence value for this UPEntry.\r
159    * \r
160    * @return sequence\r
161    */\r
162   public java.lang.String getSequence()\r
163   {\r
164     return sequence;\r
165   }\r
166 \r
167   /**\r
168    * Sets the sequence value for this UPEntry.\r
169    * \r
170    * @param sequence\r
171    */\r
172   public void setSequence(java.lang.String sequence)\r
173   {\r
174     this.sequence = sequence;\r
175   }\r
176 \r
177   /**\r
178    * Gets the timestamp value for this UPEntry.\r
179    * \r
180    * @return timestamp\r
181    */\r
182   public java.util.Calendar getTimestamp()\r
183   {\r
184     return timestamp;\r
185   }\r
186 \r
187   /**\r
188    * Sets the timestamp value for this UPEntry.\r
189    * \r
190    * @param timestamp\r
191    */\r
192   public void setTimestamp(java.util.Calendar timestamp)\r
193   {\r
194     this.timestamp = timestamp;\r
195   }\r
196 \r
197   private java.lang.Object __equalsCalc = null;\r
198 \r
199   public synchronized boolean equals(java.lang.Object obj)\r
200   {\r
201     if (!(obj instanceof UPEntry))\r
202       return false;\r
203     UPEntry other = (UPEntry) obj;\r
204     if (obj == null)\r
205       return false;\r
206     if (this == obj)\r
207       return true;\r
208     if (__equalsCalc != null)\r
209     {\r
210       return (__equalsCalc == obj);\r
211     }\r
212     __equalsCalc = obj;\r
213     boolean _equals;\r
214     _equals = true\r
215             && ((this.CRC64 == null && other.getCRC64() == null) || (this.CRC64 != null && this.CRC64\r
216                     .equals(other.getCRC64())))\r
217             && ((this.UPI == null && other.getUPI() == null) || (this.UPI != null && this.UPI\r
218                     .equals(other.getUPI())))\r
219             && ((this.identicalCrossReferences == null && other\r
220                     .getIdenticalCrossReferences() == null) || (this.identicalCrossReferences != null && java.util.Arrays\r
221                     .equals(this.identicalCrossReferences, other\r
222                             .getIdenticalCrossReferences())))\r
223             && ((this.logicalCrossReferences == null && other\r
224                     .getLogicalCrossReferences() == null) || (this.logicalCrossReferences != null && java.util.Arrays\r
225                     .equals(this.logicalCrossReferences, other\r
226                             .getLogicalCrossReferences())))\r
227             && ((this.sequence == null && other.getSequence() == null) || (this.sequence != null && this.sequence\r
228                     .equals(other.getSequence())))\r
229             && ((this.timestamp == null && other.getTimestamp() == null) || (this.timestamp != null && this.timestamp\r
230                     .equals(other.getTimestamp())));\r
231     __equalsCalc = null;\r
232     return _equals;\r
233   }\r
234 \r
235   private boolean __hashCodeCalc = false;\r
236 \r
237   public synchronized int hashCode()\r
238   {\r
239     if (__hashCodeCalc)\r
240     {\r
241       return 0;\r
242     }\r
243     __hashCodeCalc = true;\r
244     int _hashCode = 1;\r
245     if (getCRC64() != null)\r
246     {\r
247       _hashCode += getCRC64().hashCode();\r
248     }\r
249     if (getUPI() != null)\r
250     {\r
251       _hashCode += getUPI().hashCode();\r
252     }\r
253     if (getIdenticalCrossReferences() != null)\r
254     {\r
255       for (int i = 0; i < java.lang.reflect.Array\r
256               .getLength(getIdenticalCrossReferences()); i++)\r
257       {\r
258         java.lang.Object obj = java.lang.reflect.Array.get(\r
259                 getIdenticalCrossReferences(), i);\r
260         if (obj != null && !obj.getClass().isArray())\r
261         {\r
262           _hashCode += obj.hashCode();\r
263         }\r
264       }\r
265     }\r
266     if (getLogicalCrossReferences() != null)\r
267     {\r
268       for (int i = 0; i < java.lang.reflect.Array\r
269               .getLength(getLogicalCrossReferences()); i++)\r
270       {\r
271         java.lang.Object obj = java.lang.reflect.Array.get(\r
272                 getLogicalCrossReferences(), i);\r
273         if (obj != null && !obj.getClass().isArray())\r
274         {\r
275           _hashCode += obj.hashCode();\r
276         }\r
277       }\r
278     }\r
279     if (getSequence() != null)\r
280     {\r
281       _hashCode += getSequence().hashCode();\r
282     }\r
283     if (getTimestamp() != null)\r
284     {\r
285       _hashCode += getTimestamp().hashCode();\r
286     }\r
287     __hashCodeCalc = false;\r
288     return _hashCode;\r
289   }\r
290 \r
291 }\r