JAL-2055 prototype alternate feature colouring based on
[jalview.git] / src / jalview / datamodel / SequenceFeature.java
index f2eb8ac..54ff6df 100755 (executable)
@@ -39,6 +39,9 @@ public class SequenceFeature
   // private key for Phase designed not to conflict with real GFF data
   private static final String PHASE = "!Phase";
 
+  // private key for feature number designed not to conflict with real GFF data
+  private static final String NUMBER = "!Num";
+
   /*
    * ATTRIBUTES is reserved for the GFF 'column 9' data, formatted as
    * name1=value1;name2=value2,value3;...etc
@@ -480,6 +483,34 @@ public class SequenceFeature
   }
 
   /**
+   * Set the ordinal number of this feature on the sequence
+   * 
+   * @param num
+   */
+  public void setFeatureNumber(int num)
+  {
+    setValue(NUMBER, String.valueOf(num));
+  }
+
+  /**
+   * Returns the feature number if set, else 0. Intended for use as the ordinal
+   * position of the feature on the sequence for features of the same type.
+   * 
+   * @return
+   */
+  public int getFeatureNumber()
+  {
+    try
+    {
+      return Integer.parseInt((String) getValue(NUMBER));
+    } catch (Exception e)
+    {
+      // property absent or not numeric
+      return 0;
+    }
+  }
+
+  /**
    * Readable representation, for debug only, not guaranteed not to change
    * between versions
    */