boolean matches(SequenceFeature feature);
/**
- * Answers the value key this matcher operates on
+ * Answers the attribute key this matcher operates on (or null if match is by
+ * Label or Score)
*
* @return
*/
- String[] getKey();
+ String[] getAttribute();
+
+ /**
+ * Answers true if match is against feature label (description), else false
+ *
+ * @return
+ */
+ boolean isByLabel();
+
+ /**
+ * Answers true if match is against feature score, else false
+ *
+ * @return
+ */
+ boolean isByScore();
+
+ /**
+ * Answers true if match is against a feature attribute (text or range)
+ *
+ * @return
+ */
+ boolean isByAttribute();
/**
* Answers the match condition that is applied
* @return
*/
MatcherI getMatcher();
+
+ /**
+ * Answers a string representation of this object suitable for use when
+ * persisting data, in a format that can be reliably read back. Any changes to
+ * the format should be backwards compatible.
+ */
+ String toStableString();
}