Clover icon

Coverage Report

  1. Project Clover database Thu Nov 7 2024 17:01:39 GMT
  2. Package jalview.datamodel.features

File FeatureMatcherSetI.java

 

Code metrics

0
0
0
1
88
12
0
-
-
0
-

Classes

Class Line # Actions
FeatureMatcherSetI 32 0 0
-1.0 -
 

Contributing tests

No tests hitting this source file were found.

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
7    * Jalview is free software: you can redistribute it and/or
8    * modify it under the terms of the GNU General Public License
9    * as published by the Free Software Foundation, either version 3
10    * of the License, or (at your option) any later version.
11    *
12    * Jalview is distributed in the hope that it will be useful, but
13    * WITHOUT ANY WARRANTY; without even the implied warranty
14    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15    * PURPOSE. See the GNU General Public License for more details.
16    *
17    * You should have received a copy of the GNU General Public License
18    * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19    * The Jalview Authors are detailed in the 'AUTHORS' file.
20    */
21    package jalview.datamodel.features;
22   
23    import jalview.datamodel.SequenceFeature;
24   
25    /**
26    * An interface to describe a set of one or more feature matchers, where all
27    * matchers are combined with either AND or OR
28    *
29    * @author gmcarstairs
30    *
31    */
 
32    public interface FeatureMatcherSetI
33    {
34    /**
35    * Answers true if the feature provided passes this matcher's match condition
36    *
37    * @param feature
38    * @return
39    */
40    boolean matches(SequenceFeature feature);
41   
42    /**
43    * Adds (ANDs) match condition m to this object's matcher set
44    *
45    * @param m
46    * @throws IllegalStateException
47    * if an attempt is made to AND to existing OR-ed conditions
48    */
49    void and(FeatureMatcherI m);
50   
51    /**
52    * Answers true if any second condition is AND-ed with this one, false if it
53    * is OR-ed
54    *
55    * @return
56    */
57    boolean isAnded();
58   
59    /**
60    * Adds (ORs) the given condition to this object's match conditions
61    *
62    * @param m
63    * @throws IllegalStateException
64    * if an attempt is made to OR to existing AND-ed conditions
65    */
66    void or(FeatureMatcherI m);
67   
68    /**
69    * Answers an iterator over the combined match conditions
70    *
71    * @return
72    */
73    Iterable<FeatureMatcherI> getMatchers();
74   
75    /**
76    * Answers true if this object contains no conditions
77    *
78    * @return
79    */
80    boolean isEmpty();
81   
82    /**
83    * Answers a string representation of this object suitable for use when
84    * persisting data, in a format that can be reliably read back. Any changes to
85    * the format should be backwards compatible.
86    */
87    String toStableString();
88    }