1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.surefire.group.match;
20
21 import java.util.Collection;
22
23
24
25
26 public class OrGroupMatcher extends JoinGroupMatcher {
27
28 public OrGroupMatcher(GroupMatcher... matchers) {
29 for (GroupMatcher matcher : matchers) {
30 addMatcher(matcher);
31 }
32 }
33
34 public OrGroupMatcher(Collection<GroupMatcher> matchers) {
35 for (GroupMatcher matcher : matchers) {
36 addMatcher(matcher);
37 }
38 }
39
40 @Override
41 public boolean enabled(Class<?>... cats) {
42 for (GroupMatcher matcher : getMatchers()) {
43 boolean result = matcher.enabled(cats);
44 if (result) {
45 return true;
46 }
47 }
48
49 return false;
50 }
51
52 @Override
53 public boolean enabled(String... cats) {
54 for (GroupMatcher matcher : getMatchers()) {
55 boolean result = matcher.enabled(cats);
56 if (result) {
57 return true;
58 }
59 }
60
61 return false;
62 }
63
64 @Override
65 public String toString() {
66 StringBuilder sb = new StringBuilder();
67 for (GroupMatcher matcher : getMatchers()) {
68 if (sb.length() > 0) {
69 sb.append(" OR ");
70 }
71 sb.append(matcher);
72 }
73
74 return sb.toString();
75 }
76
77 @Override
78 public int hashCode() {
79 final int prime = 37;
80 int result = 1;
81 result = prime * result;
82 for (GroupMatcher matcher : getMatchers()) {
83 result += matcher.hashCode();
84 }
85 return result;
86 }
87
88 @Override
89 public boolean equals(Object obj) {
90 if (this == obj) {
91 return true;
92 }
93 if (obj == null) {
94 return false;
95 }
96 if (getClass() != obj.getClass()) {
97 return false;
98 }
99 AndGroupMatcher other = (AndGroupMatcher) obj;
100 return getMatchers().equals(other.getMatchers());
101 }
102 }