JAL-2808 classes to support filtering by attribute value
[jalview.git] / src / jalview / util / matcher / KeyedMatcherI.java
1 package jalview.util.matcher;
2
3 import java.util.function.Function;
4
5 public interface KeyedMatcherI
6 {
7   boolean matches(Function<String, String> valueProvider);
8
9   /**
10    * Answers a new object that matches the logical AND of this and m
11    * 
12    * @param m
13    * @return
14    */
15   KeyedMatcherI and(String key, MatcherI m);
16
17   /**
18    * Answers a new object that matches the logical OR of this and m
19    * 
20    * @param m
21    * @return
22    */
23   KeyedMatcherI or(String key, MatcherI m);
24
25   String getKey();
26
27   MatcherI getMatcher();
28
29   KeyedMatcherI getSecondMatcher();
30
31   boolean isAnded();
32 }