diff --git a/uk/ac/sanger/artemis/FeatureSegmentVector.java b/uk/ac/sanger/artemis/FeatureSegmentVector.java index 68765ea951d3978b9cfa34dc657b5de1c9c4f46f..d360cc5da0c8e7e7c60a5616413eb3acb3684209 100644 --- a/uk/ac/sanger/artemis/FeatureSegmentVector.java +++ b/uk/ac/sanger/artemis/FeatureSegmentVector.java @@ -25,6 +25,9 @@ package uk.ac.sanger.artemis; +import java.util.Collections; +import java.util.Comparator; + import uk.ac.sanger.artemis.util.FastVector; /** @@ -36,6 +39,12 @@ import uk.ac.sanger.artemis.util.FastVector; **/ public class FeatureSegmentVector { + + /** + * Storage for FeatureSegment objects. + */ + private FastVector vector = new FastVector (); + /** * Create a new vector of FeatureSegment objects. **/ @@ -146,9 +155,17 @@ public class FeatureSegmentVector { return_vector.vector = (FastVector) vector.clone (); return return_vector; } + + public void sortByPosition() { + Collections.sort(vector, new PositionComparator()); + } +} - /** - * Storage for FeatureSegment objects. - */ - private FastVector vector = new FastVector (); +class PositionComparator implements Comparator<FeatureSegment> { + public int compare(FeatureSegment s1, FeatureSegment s2) { + if(s1.getStart().getPosition() < s2.getStart().getPosition()) + return -1; + else + return 1; + } }