1 package jalview.datamodel.features;
3 import jalview.datamodel.SequenceFeature;
6 * An interface to describe a set of one or more feature matchers, where all
7 * matchers are combined with either AND or OR
12 public interface FeatureMatcherSetI
15 * Answers true if the feature provided passes this matcher's match condition
20 boolean matches(SequenceFeature feature);
23 * Answers a new object that matches the logical AND of this and m
27 * @throws IllegalStateException
28 * if an attempt is made to AND to existing OR-ed conditions
30 FeatureMatcherSetI and(FeatureMatcherI m);
33 * Answers true if any second condition is AND-ed with this one, false if it
41 * Answers a new object that matches the logical OR of this and m
45 * @throws IllegalStateException
46 * if an attempt is made to OR to existing AND-ed conditions
48 FeatureMatcherSetI or(FeatureMatcherI m);
51 * Answers an iterator over the combined match conditions
55 Iterable<FeatureMatcherI> getMatchers();
58 * Answers true if this object contains no conditions
65 * Answers a string representation of this object suitable for use when
66 * persisting data, in a format that should not change so can be reliably read
69 String toStableString();