a22ab8c5bb16e8f5542ee73f18141a438346b86e
[jabaws.git] / datamodel / compbio / data / sequence / Range.java
1 package compbio.data.sequence;\r
2 \r
3 public class Range implements Comparable<Range> {\r
4 \r
5         public final int from;\r
6         public final int to;\r
7 \r
8         private Range() {\r
9                 // JAXB default constructor should not be used\r
10                 from = 0;\r
11                 to = from;\r
12         }\r
13 \r
14         public Range(int from, int to) {\r
15                 this.from = from;\r
16                 this.to = to;\r
17         }\r
18 \r
19         public Range(String[] twoElementAr) {\r
20                 if (twoElementAr == null || twoElementAr.length != 2) {\r
21                         throw new IllegalArgumentException();\r
22                 }\r
23                 this.from = Integer.parseInt(twoElementAr[0].trim());\r
24                 this.to = Integer.parseInt(twoElementAr[1].trim());\r
25         }\r
26 \r
27         @Override\r
28         public String toString() {\r
29                 return from + "-" + to;\r
30         }\r
31 \r
32         @Override\r
33         public int hashCode() {\r
34                 final int prime = 31;\r
35                 int result = 1;\r
36                 result = prime * result + from;\r
37                 result = prime * result + to;\r
38                 return result;\r
39         }\r
40         @Override\r
41         public boolean equals(Object obj) {\r
42                 if (this == obj)\r
43                         return true;\r
44                 if (obj == null)\r
45                         return false;\r
46                 if (getClass() != obj.getClass())\r
47                         return false;\r
48                 Range other = (Range) obj;\r
49                 if (from != other.from)\r
50                         return false;\r
51                 if (to != other.to)\r
52                         return false;\r
53                 return true;\r
54         }\r
55 \r
56         @Override\r
57         public int compareTo(Range o) {\r
58                 if (o == null)\r
59                         return 1;\r
60                 return new Integer(this.from).compareTo(new Integer(o.from));\r
61         }\r
62 \r
63 }\r