+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.datamodel.features;
import jalview.datamodel.SequenceFeature;
boolean matches(SequenceFeature feature);
/**
- * Answers a new object that matches the logical AND of this and m
+ * Adds (ANDs) match condition m to this object's matcher set
*
* @param m
- * @return
* @throws IllegalStateException
* if an attempt is made to AND to existing OR-ed conditions
*/
- FeatureMatcherSetI and(FeatureMatcherI m);
+ void and(FeatureMatcherI m);
/**
* Answers true if any second condition is AND-ed with this one, false if it
boolean isAnded();
/**
- * Answers a new object that matches the logical OR of this and m
+ * Adds (ORs) the given condition to this object's match conditions
*
* @param m
- * @return
* @throws IllegalStateException
* if an attempt is made to OR to existing AND-ed conditions
*/
- FeatureMatcherSetI or(FeatureMatcherI m);
+ void or(FeatureMatcherI m);
/**
* Answers an iterator over the combined match conditions
/**
* Answers a string representation of this object suitable for use when
- * persisting data, in a format that should not change so can be reliably read
- * back.
+ * persisting data, in a format that can be reliably read back. Any changes to
+ * the format should be backwards compatible.
*/
String toStableString();
}