update author list in license for (JAL-826)
[jalview.git] / src / vamsas / objects / simple / SequenceSet.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
3  * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
10  * 
11  * Jalview is distributed in the hope that it will be useful, but 
12  * WITHOUT ANY WARRANTY; without even the implied warranty 
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
14  * PURPOSE.  See the GNU General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 package vamsas.objects.simple;
19
20 public class SequenceSet implements java.io.Serializable
21 {
22   private vamsas.objects.simple.Sequence[] seqs;
23
24   public SequenceSet()
25   {
26   }
27
28   public SequenceSet(vamsas.objects.simple.Sequence[] seqs)
29   {
30     this.seqs = seqs;
31   }
32
33   /**
34    * Gets the seqs value for this SequenceSet.
35    * 
36    * @return seqs
37    */
38   public vamsas.objects.simple.Sequence[] getSeqs()
39   {
40     return seqs;
41   }
42
43   /**
44    * Sets the seqs value for this SequenceSet.
45    * 
46    * @param seqs
47    */
48   public void setSeqs(vamsas.objects.simple.Sequence[] seqs)
49   {
50     this.seqs = seqs;
51   }
52
53   private java.lang.Object __equalsCalc = null;
54
55   public synchronized boolean equals(java.lang.Object obj)
56   {
57     if (!(obj instanceof SequenceSet))
58       return false;
59     SequenceSet other = (SequenceSet) obj;
60     if (obj == null)
61       return false;
62     if (this == obj)
63       return true;
64     if (__equalsCalc != null)
65     {
66       return (__equalsCalc == obj);
67     }
68     __equalsCalc = obj;
69     boolean _equals;
70     _equals = true && ((this.seqs == null && other.getSeqs() == null) || (this.seqs != null && java.util.Arrays
71             .equals(this.seqs, other.getSeqs())));
72     __equalsCalc = null;
73     return _equals;
74   }
75
76   private boolean __hashCodeCalc = false;
77
78   public synchronized int hashCode()
79   {
80     if (__hashCodeCalc)
81     {
82       return 0;
83     }
84     __hashCodeCalc = true;
85     int _hashCode = 1;
86     if (getSeqs() != null)
87     {
88       for (int i = 0; i < java.lang.reflect.Array.getLength(getSeqs()); i++)
89       {
90         java.lang.Object obj = java.lang.reflect.Array.get(getSeqs(), i);
91         if (obj != null && !obj.getClass().isArray())
92         {
93           _hashCode += obj.hashCode();
94         }
95       }
96     }
97     __hashCodeCalc = false;
98     return _hashCode;
99   }
100
101 }