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