1
2
3
4
5 package com.qulice.maven;
6
7 import com.qulice.spi.ResourceValidator;
8 import com.qulice.spi.Validator;
9 import java.util.Collection;
10 import java.util.HashSet;
11 import java.util.Set;
12
13
14
15
16
17 final class ValidatorsProviderMocker {
18
19
20
21
22 private final Set<Validator> external = new HashSet<>();
23
24
25
26
27 private final transient Set<ResourceValidator> rexternal = new HashSet<>();
28
29
30
31
32 private final Set<MavenValidator> internal = new HashSet<>();
33
34
35
36
37
38
39 ValidatorsProviderMocker withExternal(final Validator validator) {
40 this.external.add(validator);
41 return this;
42 }
43
44
45
46
47
48
49 ValidatorsProviderMocker withExternalResource(final ResourceValidator validator) {
50 this.rexternal.add(validator);
51 return this;
52 }
53
54
55
56
57
58
59 ValidatorsProviderMocker withInternal(final MavenValidator validator) {
60 this.internal.add(validator);
61 return this;
62 }
63
64
65
66
67
68 ValidatorsProvider mock() {
69 return new ValidatorsProviderMocker.FakeValidatorsProvider(
70 this.internal,
71 this.external,
72 this.rexternal
73 );
74 }
75
76
77
78
79
80
81 private static class FakeValidatorsProvider implements ValidatorsProvider {
82
83
84
85
86 private final Set<MavenValidator> intern;
87
88
89
90
91 private final Set<Validator> extern;
92
93
94
95
96 private final Set<ResourceValidator> rextern;
97
98 FakeValidatorsProvider(
99 final Set<MavenValidator> inter,
100 final Set<Validator> exter,
101 final Set<ResourceValidator> rexter
102 ) {
103 this.intern = inter;
104 this.extern = exter;
105 this.rextern = rexter;
106 }
107
108 @Override
109 public Set<MavenValidator> internal() {
110 return this.intern;
111 }
112
113 @Override
114 public Set<Validator> external() {
115 return this.extern;
116 }
117
118 @Override
119 public Collection<ResourceValidator> externalResource() {
120 return this.rextern;
121 }
122 }
123 }