AAConWS is working
[jabaws.git] / datamodel / compbio / data / sequence / Score.java
1 package compbio.data.sequence;\r
2 \r
3 import java.util.Arrays;\r
4 import java.util.List;\r
5 \r
6 import javax.xml.bind.annotation.XmlAccessType;\r
7 import javax.xml.bind.annotation.XmlAccessorType;\r
8 \r
9 import compbio.conservation.Method;\r
10 import compbio.util.annotation.Immutable;\r
11 \r
12 @XmlAccessorType(XmlAccessType.FIELD)\r
13 @Immutable\r
14 public class Score {\r
15 \r
16         private Method method;\r
17 \r
18         private List<Float> scores;\r
19 \r
20         private Score() {\r
21                 // JaXB default constructor\r
22         }\r
23 \r
24         public Score(Method method, List<Float> scores) {\r
25                 this.method = method;\r
26                 this.scores = scores;\r
27         }\r
28 \r
29         public Method getMethod() {\r
30                 return method;\r
31         }\r
32 \r
33         public List<Float> getScores() {\r
34                 return scores;\r
35         }\r
36 \r
37         @Override\r
38         public String toString() {\r
39                 return "Score [method=" + method + ", scores=" + scores + "]";\r
40         }\r
41 \r
42         @Override\r
43         public int hashCode() {\r
44                 final int prime = 31;\r
45                 int result = 1;\r
46                 result = prime * result + ((method == null) ? 0 : method.hashCode());\r
47                 result = prime * result + ((scores == null) ? 0 : scores.hashCode());\r
48                 return result;\r
49         }\r
50 \r
51         /*\r
52          * TODO test ! (non-Javadoc)\r
53          * \r
54          * @see java.lang.Object#equals(java.lang.Object)\r
55          */\r
56         @Override\r
57         public boolean equals(Object obj) {\r
58                 if (this == obj)\r
59                         return true;\r
60                 if (obj == null)\r
61                         return false;\r
62                 if (getClass() != obj.getClass())\r
63                         return false;\r
64                 Score other = (Score) obj;\r
65                 if (method != other.method)\r
66                         return false;\r
67                 if (scores == other.scores) {\r
68                         return true;\r
69                 }\r
70                 if (scores == null) {\r
71                         return false;\r
72                 }\r
73                 if (!Arrays.deepEquals(scores.toArray(), other.scores.toArray()))\r
74                         return false;\r
75                 return true;\r
76         }\r
77 }\r