Merge branch 'develop' into features/JAL-2446NCList
[jalview.git] / src / jalview / datamodel / SequenceFeature.java
index 25dfc40..9c4087e 100755 (executable)
@@ -58,7 +58,7 @@ public class SequenceFeature implements FeatureLocationI
   private static final String ATTRIBUTES = "ATTRIBUTES";
 
   /*
-   * type, begin, end, featureGroup and contactFeature are final 
+   * type, begin, end, featureGroup, score and contactFeature are final 
    * to ensure that the integrity of SequenceFeatures data store 
    * can't be broken by direct update of these fields
    */
@@ -143,15 +143,16 @@ public class SequenceFeature implements FeatureLocationI
    * A copy constructor that allows the value of final fields to be 'modified'
    * 
    * @param sf
+   * @param newType
    * @param newBegin
    * @param newEnd
    * @param newGroup
    * @param newScore
    */
-  public SequenceFeature(SequenceFeature sf, int newBegin, int newEnd,
-          String newGroup, float newScore)
+  public SequenceFeature(SequenceFeature sf, String newType, int newBegin,
+          int newEnd, String newGroup, float newScore)
   {
-    this(sf.getType(), sf.getDescription(), newBegin, newEnd, newScore,
+    this(newType, sf.getDescription(), newBegin, newEnd, newScore,
             newGroup);
 
     if (sf.otherDetails != null)
@@ -173,6 +174,21 @@ public class SequenceFeature implements FeatureLocationI
   }
 
   /**
+   * A copy constructor that allows the value of final fields to be 'modified'
+   * 
+   * @param sf
+   * @param newBegin
+   * @param newEnd
+   * @param newGroup
+   * @param newScore
+   */
+  public SequenceFeature(SequenceFeature sf, int newBegin, int newEnd,
+          String newGroup, float newScore)
+  {
+    this(sf, sf.getType(), newBegin, newEnd, newGroup, newScore);
+  }
+
+  /**
    * Two features are considered equal if they have the same type, group,
    * description, start, end, phase, strand, and (if present) 'Name', ID' and
    * 'Parent' attributes.
@@ -217,8 +233,8 @@ public class SequenceFeature implements FeatureLocationI
       return false;
     }
 
-    if (!(type + description + featureGroup + getPhase()).equals(sf.type
-            + sf.description + sf.featureGroup + sf.getPhase()))
+    if (!(type + description + featureGroup + getPhase()).equals(
+            sf.type + sf.description + sf.featureGroup + sf.getPhase()))
     {
       return false;
     }