JAL-3253 temporary branch SwingJS upgrade with testNG fixes Java 8
[jalview.git] / src / jalview / datamodel / features / SequenceFeaturesI.java
index 31712b9..fe5e927 100644 (file)
@@ -215,10 +215,35 @@ public interface SequenceFeaturesI
   float getMaximumScore(String type, boolean positional);
 
   /**
-   * Adds the shift amount to the start and end of all positional features,
-   * returning true if at least one feature was shifted, else false
+   * Adds the shift amount to the start and end of all positional features whose
+   * start position is at or after fromPosition. Returns true if at least one
+   * feature was shifted, else false.
    * 
-   * @param shift
+   * @param fromPosition
+   * @param shiftBy
    */
-  abstract boolean shiftFeatures(int shift);
-}
\ No newline at end of file
+  boolean shiftFeatures(int fromPosition, int shiftBy);
+
+  /**
+   * Deletes all positional and non-positional features
+   */
+  void deleteAll();
+
+  /**
+   * Answers a (possibly empty) list of features of the specified type that
+   * overlap the specified column position. If parameter {@code result} is not
+   * null, features are appended to it and the (possibly extended) list is
+   * returned.
+   * 
+   * @param pos
+   * @param type
+   * @param result
+   * @return
+   */
+  List<SequenceFeature> findFeatures(int pos, String type, List<SequenceFeature> result);
+
+  /**
+   * Answers true if there are any features of the given type, else false
+   */
+  boolean hasFeatures(String type);
+}