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