1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.rat.analysis.util;
20
21 import org.apache.rat.analysis.IHeaderMatcher;
22 import org.apache.rat.analysis.RatHeaderAnalysisException;
23 import org.apache.rat.api.Document;
24
25
26
27
28
29 public final class HeaderMatcherMultiplexer implements IHeaderMatcher {
30
31 private final IHeaderMatcher[] matchers;
32 private final int numberOfMatchers;
33
34 public HeaderMatcherMultiplexer(final IHeaderMatcher[] matchers) {
35 this.matchers = matchers;
36 numberOfMatchers = matchers.length;
37 }
38
39 public boolean match(Document subject, String line) throws RatHeaderAnalysisException {
40 boolean result = false;
41 for (int i=0;i<numberOfMatchers;i++) {
42 result = matchers[i].match(subject, line);
43 if (result) {
44 break;
45 }
46 }
47 return result;
48 }
49
50 public void reset() {
51 for (int i=0;i<numberOfMatchers;i++) {
52 matchers[i].reset();
53 }
54 }
55
56 }