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
27 public class AndGroupMatcher extends JoinGroupMatcher {
28
29 public AndGroupMatcher(GroupMatcher... matchers) {
30 for (GroupMatcher matcher : matchers) {
31 addMatcher(matcher);
32 }
33 }
34
35 public AndGroupMatcher(Collection<GroupMatcher> matchers) {
36 for (GroupMatcher matcher : matchers) {
37 addMatcher(matcher);
38 }
39 }
40
41 @Override
42 public boolean enabled(Class<?>... cats) {
43 for (GroupMatcher matcher : getMatchers()) {
44 boolean result = matcher.enabled(cats);
45 if (!result) {
46 return false;
47 }
48 }
49
50 return true;
51 }
52
53 @Override
54 public boolean enabled(String... cats) {
55 for (GroupMatcher matcher : getMatchers()) {
56 boolean result = matcher.enabled(cats);
57 if (!result) {
58 return false;
59 }
60 }
61
62 return true;
63 }
64
65 @Override
66 public String toString() {
67 StringBuilder sb = new StringBuilder();
68 for (GroupMatcher matcher : getMatchers()) {
69 if (sb.length() > 0) {
70 sb.append(" AND ");
71 }
72 sb.append(matcher);
73 }
74
75 return sb.toString();
76 }
77
78 @Override
79 public int hashCode() {
80 final int prime = 31;
81 int result = 1;
82 result = prime * result;
83 for (GroupMatcher matcher : getMatchers()) {
84 result += matcher.hashCode();
85 }
86 return result;
87 }
88
89 @Override
90 public boolean equals(Object obj) {
91 if (this == obj) {
92 return true;
93 }
94 if (obj == null) {
95 return false;
96 }
97 if (getClass() != obj.getClass()) {
98 return false;
99 }
100 AndGroupMatcher other = (AndGroupMatcher) obj;
101 return getMatchers().equals(other.getMatchers());
102 }
103 }