import java.io.OutputStreamWriter;\r
import java.text.NumberFormat;\r
import java.util.ArrayList;\r
-import java.util.Collections;\r
-import java.util.List;\r
import java.util.Locale;\r
import java.util.Set;\r
-import java.util.SortedSet;\r
import java.util.TreeSet;\r
\r
import javax.xml.bind.annotation.XmlAccessType;\r
import javax.xml.bind.annotation.XmlAccessorType;\r
+import javax.xml.bind.annotation.XmlElement;\r
+import javax.xml.bind.annotation.XmlTransient;\r
\r
import compbio.util.annotation.Immutable;\r
\r
@Immutable\r
public class Score {\r
\r
+ @XmlTransient\r
static final NumberFormat NUMBER_FORMAT = NumberFormat\r
.getNumberInstance(Locale.UK);\r
static {\r
}\r
\r
private Enum<?> method;\r
+ // private String method;\r
\r
- private SortedSet<Range> ranges = new TreeSet<Range>();\r
+ @XmlElement\r
+ private TreeSet<Range> ranges = new TreeSet<Range>();\r
\r
- private List<Float> scores = Collections.emptyList();\r
+ @XmlElement\r
+ private ArrayList<Float> scores = new ArrayList<Float>(0);\r
\r
private Score() {\r
// JaXB default constructor\r
* the actual conservation values for each column of the\r
* alignment\r
*/\r
- public Score(Enum<?> method, List<Float> scores) {\r
+ public Score(Enum<?> method, ArrayList<Float> scores) {\r
this.method = method;\r
this.scores = new ArrayList<Float>(scores);\r
}\r
* The set of ranges i.e. parts of the sequence with specific\r
* function, usually can be calculated based on scores\r
*/\r
- public Score(Enum<?> method, List<Float> scores, SortedSet<Range> ranges) {\r
+ public Score(Enum<?> method, ArrayList<Float> scores, TreeSet<Range> ranges) {\r
this.method = method;\r
this.ranges = ranges;\r
this.scores = scores;\r
}\r
\r
- public Score(Enum<?> method, SortedSet<Range> ranges) {\r
+ public Score(Enum<?> method, TreeSet<Range> ranges) {\r
this.method = method;\r
this.ranges = ranges;\r
}\r
this.scores = toList(scores);\r
}\r
\r
- private List<Float> toList(float[] values) {\r
- List<Float> vlist = new ArrayList<Float>();\r
+ private ArrayList<Float> toList(float[] values) {\r
+ ArrayList<Float> vlist = new ArrayList<Float>();\r
for (float v : values) {\r
vlist.add(new Float(v));\r
}\r
* \r
* @return the column scores for the alignment\r
*/\r
- public List<Float> getScores() {\r
+ public ArrayList<Float> getScores() {\r
return scores;\r
}\r
\r
* \r
* @return\r
*/\r
- public SortedSet<Range> getRanges() {\r
+ public TreeSet<Range> getRanges() {\r
return ranges;\r
}\r
\r
- public void setRanges(SortedSet<Range> ranges) {\r
+ public void setRanges(TreeSet<Range> ranges) {\r
this.ranges = ranges;\r
}\r
\r