-package jalview.datamodel.xdb.embl;\r
-\r
-import java.util.Iterator;\r
-import java.util.Vector;\r
-\r
-public class EmblFeatureLocations {\r
- Vector locElements;\r
- String locationType;\r
- boolean locationComplement;\r
- /**\r
- * @return the locationComplement\r
- */\r
- public boolean isLocationComplement() {\r
- return locationComplement;\r
- }\r
- /**\r
- * @param locationComplement the locationComplement to set\r
- */\r
- public void setLocationComplement(boolean locationComplement) {\r
- this.locationComplement = locationComplement;\r
- }\r
- /**\r
- * @return the locationType\r
- */\r
- public String getLocationType() {\r
- return locationType;\r
- }\r
- /**\r
- * @param locationType the locationType to set\r
- */\r
- public void setLocationType(String locationType) {\r
- this.locationType = locationType;\r
- }\r
- /**\r
- * @return the locElements\r
- */\r
- public Vector getLocElements() {\r
- return locElements;\r
- }\r
- /**\r
- * @param locElements the locElements to set\r
- */\r
- public void setLocElements(Vector locElements) {\r
- this.locElements = locElements;\r
- }\r
- /**\r
- * Return all location elements as start-end pairs on referenced sequence \r
- * TODO: pass back complement and 'less than or more than' range information\r
- * @return int[] { start1, end1, ... }\r
- */\r
- public int[] getElementRanges() {\r
- if (locationType.equalsIgnoreCase("single")) {\r
- int[] se = new int[locElements.size()*2]; \r
- int sepos=0;\r
- for (Iterator le=locElements.iterator();le.hasNext();) {\r
- EmblFeatureLocElement loce = (EmblFeatureLocElement) le.next();\r
- BasePosition bp[] = loce.getBasePositions();\r
- if (bp.length==2) {\r
- se[sepos++] = Integer.parseInt(bp[0].getPos());\r
- se[sepos++] = Integer.parseInt(bp[1].getPos());\r
- }\r
- }\r
- return se;\r
- }\r
- if (locationType.equalsIgnoreCase("join")) {\r
- int[] se = new int[locElements.size()*2]; \r
- int sepos=0;\r
- for (Iterator le=locElements.iterator();le.hasNext();) {\r
- EmblFeatureLocElement loce = (EmblFeatureLocElement) le.next();\r
- BasePosition bp[] = loce.getBasePositions();\r
- if (bp.length==2) {\r
- se[sepos++] = Integer.parseInt(bp[0].getPos());\r
- se[sepos++] = Integer.parseInt(bp[1].getPos());\r
- }\r
- }\r
- return se;\r
- }\r
- if (locationType!=null)\r
- {\r
- jalview.bin.Cache.log.error("EmbleFeatureLocations.getElementRanges cannot deal with locationType=='"+locationType+"'");\r
- }\r
- return null;\r
- }\r
+package jalview.datamodel.xdb.embl;
+
+import java.util.Iterator;
+import java.util.Vector;
+
+public class EmblFeatureLocations {
+ Vector locElements;
+ String locationType;
+ boolean locationComplement;
+ /**
+ * @return the locationComplement
+ */
+ public boolean isLocationComplement() {
+ return locationComplement;
+ }
+ /**
+ * @param locationComplement the locationComplement to set
+ */
+ public void setLocationComplement(boolean locationComplement) {
+ this.locationComplement = locationComplement;
+ }
+ /**
+ * @return the locationType
+ */
+ public String getLocationType() {
+ return locationType;
+ }
+ /**
+ * @param locationType the locationType to set
+ */
+ public void setLocationType(String locationType) {
+ this.locationType = locationType;
+ }
+ /**
+ * @return the locElements
+ */
+ public Vector getLocElements() {
+ return locElements;
+ }
+ /**
+ * @param locElements the locElements to set
+ */
+ public void setLocElements(Vector locElements) {
+ this.locElements = locElements;
+ }
+ /**
+ * Return all location elements as start-end pairs on referenced sequence
+ * TODO: pass back complement and 'less than or more than' range information
+ * @return int[] { start1, end1, ... }
+ */
+ public int[] getElementRanges() {
+ if (locationType.equalsIgnoreCase("single")) {
+ int[] se = new int[locElements.size()*2];
+ int sepos=0;
+ for (Iterator le=locElements.iterator();le.hasNext();) {
+ EmblFeatureLocElement loce = (EmblFeatureLocElement) le.next();
+ BasePosition bp[] = loce.getBasePositions();
+ if (bp.length==2) {
+ se[sepos++] = Integer.parseInt(bp[0].getPos());
+ se[sepos++] = Integer.parseInt(bp[1].getPos());
+ }
+ }
+ return se;
+ }
+ if (locationType.equalsIgnoreCase("join")) {
+ int[] se = new int[locElements.size()*2];
+ int sepos=0;
+ for (Iterator le=locElements.iterator();le.hasNext();) {
+ EmblFeatureLocElement loce = (EmblFeatureLocElement) le.next();
+ BasePosition bp[] = loce.getBasePositions();
+ if (bp.length==2) {
+ se[sepos++] = Integer.parseInt(bp[0].getPos());
+ se[sepos++] = Integer.parseInt(bp[1].getPos());
+ }
+ }
+ return se;
+ }
+ if (locationType!=null)
+ {
+ jalview.bin.Cache.log.error("EmbleFeatureLocations.getElementRanges cannot deal with locationType=='"+locationType+"'");
+ }
+ return null;
+ }
}
\ No newline at end of file