Merge branch 'develop' into features/JAL-2360colourSchemeApplicability
[jalview.git] / src / vamsas / objects / simple / Sequence.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ The Jalview Authors
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
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21 package vamsas.objects.simple;
22
23 public class Sequence implements java.io.Serializable
24 {
25   private java.lang.String id;
26
27   private java.lang.String seq;
28
29   public Sequence()
30   {
31   }
32
33   public Sequence(java.lang.String id, java.lang.String seq)
34   {
35     this.id = id;
36     this.seq = seq;
37   }
38
39   /**
40    * Gets the id value for this Sequence.
41    * 
42    * @return id
43    */
44   public java.lang.String getId()
45   {
46     return id;
47   }
48
49   /**
50    * Sets the id value for this Sequence.
51    * 
52    * @param id
53    */
54   public void setId(java.lang.String id)
55   {
56     this.id = id;
57   }
58
59   /**
60    * Gets the seq value for this Sequence.
61    * 
62    * @return seq
63    */
64   public java.lang.String getSeq()
65   {
66     return seq;
67   }
68
69   /**
70    * Sets the seq value for this Sequence.
71    * 
72    * @param seq
73    */
74   public void setSeq(java.lang.String seq)
75   {
76     this.seq = seq;
77   }
78
79   private java.lang.Object __equalsCalc = null;
80
81   @Override
82   public synchronized boolean equals(java.lang.Object obj)
83   {
84     if (obj == null)
85     {
86       return false;
87     }
88     if (!(obj instanceof Sequence))
89     {
90       return false;
91     }
92     Sequence other = (Sequence) obj;
93     if (this == obj)
94     {
95       return true;
96     }
97     if (__equalsCalc != null)
98     {
99       return (__equalsCalc == obj);
100     }
101     __equalsCalc = obj;
102     boolean _equals;
103     _equals = true
104             && ((this.id == null && other.getId() == null) || (this.id != null && this.id
105                     .equals(other.getId())))
106             && ((this.seq == null && other.getSeq() == null) || (this.seq != null && this.seq
107                     .equals(other.getSeq())));
108     __equalsCalc = null;
109     return _equals;
110   }
111
112   private boolean __hashCodeCalc = false;
113
114   @Override
115   public synchronized int hashCode()
116   {
117     if (__hashCodeCalc)
118     {
119       return 0;
120     }
121     __hashCodeCalc = true;
122     int _hashCode = 1;
123     if (getId() != null)
124     {
125       _hashCode += getId().hashCode();
126     }
127     if (getSeq() != null)
128     {
129       _hashCode += getSeq().hashCode();
130     }
131     __hashCodeCalc = false;
132     return _hashCode;
133   }
134
135 }