X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FSequenceFeature.java;h=28ab82cda7d0d5c34fb9b88e6a60ee326556a559;hb=7f61a28aad5fe2ef3df8aa4024ea3e7d8fbe1548;hp=8fd713ef473e4e6a91414f7468e87f9d86f304d9;hpb=f38bc38ee057bebe07c9b2b5c843d3d7d7d94032;p=jalview.git diff --git a/src/jalview/datamodel/SequenceFeature.java b/src/jalview/datamodel/SequenceFeature.java index 8fd713e..28ab82c 100755 --- a/src/jalview/datamodel/SequenceFeature.java +++ b/src/jalview/datamodel/SequenceFeature.java @@ -1,53 +1,63 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.datamodel; -import java.util.*; +import java.util.Hashtable; +import java.util.Vector; /** * DOCUMENT ME! - * + * * @author $author$ * @version $Revision$ */ public class SequenceFeature { public int begin; + public int end; + public float score; + public String type; + public String description; + public Hashtable otherDetails; - public java.util.Vector links; + + public Vector links; // Feature group can be set from a features file // as a group of features between STARTGROUP and ENDGROUP markers public String featureGroup; public SequenceFeature() - {} + { + } /** - * Constructs a duplicate feature. - * Note: Uses clone on the otherDetails so only shallow copies are made - * of additional properties and method will silently fail if unclonable - * objects are found in the hash. + * Constructs a duplicate feature. Note: Uses clone on the otherDetails so + * only shallow copies are made of additional properties and method will + * silently fail if unclonable objects are found in the hash. + * * @param cpy */ public SequenceFeature(SequenceFeature cpy) @@ -74,15 +84,14 @@ public class SequenceFeature try { otherDetails = (Hashtable) cpy.otherDetails.clone(); - } - catch (Exception e) + } catch (Exception e) { // Uncloneable objects in the otherDetails - don't complain } } if (cpy.links != null && cpy.links.size() > 0) { - links = new Vector(); + links = new Vector(); for (int i = 0, iSize = cpy.links.size(); i < iSize; i++) { links.addElement(cpy.links.elementAt(i)); @@ -91,11 +100,8 @@ public class SequenceFeature } } - public SequenceFeature(String type, - String desc, - String status, - int begin, int end, - String featureGroup) + public SequenceFeature(String type, String desc, String status, + int begin, int end, String featureGroup) { this.type = type; this.description = desc; @@ -105,11 +111,8 @@ public class SequenceFeature this.featureGroup = featureGroup; } - public SequenceFeature(String type, - String desc, - int begin, int end, - float score, - String featureGroup) + public SequenceFeature(String type, String desc, int begin, int end, + float score, String featureGroup) { this.type = type; this.description = desc; @@ -121,15 +124,13 @@ public class SequenceFeature public boolean equals(SequenceFeature sf) { - if (begin != sf.begin - || end != sf.end - || score != sf.score) + if (begin != sf.begin || end != sf.end || score != sf.score) { return false; } - if (! (type + description + featureGroup).equals - (sf.type + sf.description + sf.featureGroup)) + if (!(type + description + featureGroup).equals(sf.type + + sf.description + sf.featureGroup)) { return false; } @@ -139,7 +140,7 @@ public class SequenceFeature /** * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public int getBegin() @@ -154,7 +155,7 @@ public class SequenceFeature /** * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public int getEnd() @@ -169,7 +170,7 @@ public class SequenceFeature /** * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public String getType() @@ -184,7 +185,7 @@ public class SequenceFeature /** * DOCUMENT ME! - * + * * @return DOCUMENT ME! */ public String getDescription() @@ -211,7 +212,7 @@ public class SequenceFeature { if (links == null) { - links = new java.util.Vector(); + links = new Vector(); } links.insertElementAt(labelLink, 0); @@ -228,9 +229,11 @@ public class SequenceFeature } /** - * Used for getting values which are not in the - * basic set. eg STRAND, FRAME for GFF file - * @param key String + * Used for getting values which are not in the basic set. eg STRAND, FRAME + * for GFF file + * + * @param key + * String */ public Object getValue(String key) { @@ -245,10 +248,13 @@ public class SequenceFeature } /** - * Used for setting values which are not in the - * basic set. eg STRAND, FRAME for GFF file - * @param key eg STRAND - * @param value eg + + * Used for setting values which are not in the basic set. eg STRAND, FRAME + * for GFF file + * + * @param key + * eg STRAND + * @param value + * eg + */ public void setValue(String key, Object value) { @@ -264,8 +270,8 @@ public class SequenceFeature } /* - * The following methods are added to maintain - * the castor Uniprot mapping file for the moment. + * The following methods are added to maintain the castor Uniprot mapping file + * for the moment. */ public void setStatus(String status) { @@ -276,12 +282,13 @@ public class SequenceFeature { if (otherDetails != null) { - return otherDetails.get("status").toString(); - } - else - { - return null; + String stat = (String) otherDetails.get("status"); + if (stat != null) + { + return new String(stat); + } } + return null; } public void setPosition(int pos)