JAL-3383 JAL-3253-applet additional efficiencies; FeatureStore
[jalview.git] / src / jalview / datamodel / features / SequenceFeaturesI.java
index 31712b9..deed751 100644 (file)
@@ -215,10 +215,36 @@ 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();
+
+  /**
+   * Point-specific parameter return for JavaScript
+   * 
+   * @param pos
+   * @param type
+   * @param result
+   * @return result (JavaScript) or new ArrayList (Java -- see FeatureRender)
+   * @author Bob Hanson 2019.07.30
+   */
+  List<SequenceFeature> findFeatures(int pos, String type, List<SequenceFeature> result);
+
+  /**
+   * @author Bob Hanson 2019.08.01
+   * 
+   * @param type
+   * @return true if this type is in featureStore
+   */
+  boolean hasFeatures(String type);
+}