*/
package jalview.datamodel;
+import jalview.datamodel.features.SequenceFeaturesI;
+
import java.util.List;
import java.util.Vector;
public void insertCharAt(int position, int count, char ch);
/**
- * Gets array holding sequence features associated with this sequence. The
- * array may be held by the sequence's dataset sequence if that is defined.
+ * Answers a list of all sequence features associated with this sequence. The
+ * list may be held by the sequence's dataset sequence if that is defined.
*
* @return hard reference to array
*/
- public SequenceFeature[] getSequenceFeatures();
+ public List<SequenceFeature> getSequenceFeatures();
+
+ /**
+ * Answers the object holding features for the sequence
+ *
+ * @return
+ */
+ SequenceFeaturesI getFeatures();
/**
- * Replaces the array of sequence features associated with this sequence with
- * a new array reference. If this sequence has a dataset sequence, then this
- * method will update the dataset sequence's feature array
+ * Replaces the sequence features associated with this sequence with the given
+ * features. If this sequence has a dataset sequence, then this method will
+ * update the dataset sequence's features instead.
*
* @param features
- * New array of sequence features
*/
- public void setSequenceFeatures(SequenceFeature[] features);
+ public void setSequenceFeatures(List<SequenceFeature> features);
/**
* DOCUMENT ME!
*/
public void addDBRef(DBRefEntry entry);
- public void addSequenceFeature(SequenceFeature sf);
+ /**
+ * Adds the given sequence feature and returns true, or returns false if it is
+ * already present on the sequence, or if the feature type is null.
+ *
+ * @param sf
+ * @return
+ */
+ public boolean addSequenceFeature(SequenceFeature sf);
public void deleteFeature(SequenceFeature sf);
* list
*/
public List<DBRefEntry> getPrimaryDBRefs();
+
+ /**
+ * Returns a (possibly empty) list of sequence features that overlap the range
+ * from-to (inclusive), optionally restricted to one or more specified feature
+ * types
+ *
+ * @param from
+ * @param to
+ * @param types
+ * @return
+ */
+ List<SequenceFeature> findFeatures(int from, int to, String... types);
}