1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.shared.filtering;
20
21 import java.util.ArrayList;
22 import java.util.LinkedHashSet;
23 import java.util.List;
24 import java.util.Properties;
25
26 import org.apache.maven.execution.MavenSession;
27 import org.apache.maven.project.MavenProject;
28
29
30
31
32 public class AbstractMavenFilteringRequest {
33
34 private MavenProject mavenProject;
35
36 private List<String> filters;
37
38 private boolean escapeWindowsPaths = true;
39
40 private MavenSession mavenSession;
41
42
43
44
45
46
47
48 private List<String> projectStartExpressions = new ArrayList<>();
49
50
51
52
53
54
55 private String escapeString;
56
57
58
59
60 private Properties additionalProperties;
61
62
63
64
65 private boolean injectProjectBuildFilters = false;
66
67
68
69
70
71
72
73 private LinkedHashSet<String> delimiters = new LinkedHashSet<>();
74
75
76
77
78
79
80 private boolean supportMultiLineFiltering;
81
82
83
84
85 protected AbstractMavenFilteringRequest() {
86 initDefaults();
87 }
88
89
90
91
92
93
94
95
96 protected AbstractMavenFilteringRequest(
97 MavenProject mavenProject, List<String> filters, MavenSession mavenSession) {
98 initDefaults();
99 this.mavenProject = mavenProject;
100 this.filters = filters;
101 this.mavenSession = mavenSession;
102 }
103
104 private void initDefaults() {
105 projectStartExpressions.add("pom");
106 projectStartExpressions.add("project");
107
108 delimiters.add("${*}");
109 delimiters.add("@");
110 }
111
112
113
114
115 public MavenProject getMavenProject() {
116 return mavenProject;
117 }
118
119
120
121
122
123
124 public void setMavenProject(MavenProject mavenProject) {
125 this.mavenProject = mavenProject;
126 }
127
128
129
130
131
132
133 public List<String> getFilters() {
134 return filters;
135 }
136
137
138
139
140
141
142 public void setFilters(List<String> filters) {
143 this.filters = filters;
144 }
145
146
147
148
149
150
151 public List<String> getFileFilters() {
152 return getFilters();
153 }
154
155
156
157
158
159
160 public void setFileFilters(List<String> paramfilters) {
161 setFilters(paramfilters);
162 }
163
164
165
166
167
168 public boolean isEscapeWindowsPaths() {
169 return escapeWindowsPaths;
170 }
171
172
173
174
175
176 public void setEscapeWindowsPaths(boolean escapedBackslashesInFilePath) {
177 this.escapeWindowsPaths = escapedBackslashesInFilePath;
178 }
179
180
181
182
183
184
185 public boolean isEscapedBackslashesInFilePath() {
186 return isEscapeWindowsPaths();
187 }
188
189
190
191
192
193
194 public void setEscapedBackslashesInFilePath(boolean escape) {
195 setEscapeWindowsPaths(escape);
196 }
197
198
199
200
201 public MavenSession getMavenSession() {
202 return mavenSession;
203 }
204
205
206
207
208 public void setMavenSession(MavenSession mavenSession) {
209 this.mavenSession = mavenSession;
210 }
211
212
213
214
215
216 public Properties getAdditionalProperties() {
217 return additionalProperties;
218 }
219
220
221
222
223
224 public void setAdditionalProperties(Properties additionalProperties) {
225 this.additionalProperties = additionalProperties;
226 }
227
228
229
230
231
232 public boolean isInjectProjectBuildFilters() {
233 return injectProjectBuildFilters;
234 }
235
236
237
238
239
240 public void setInjectProjectBuildFilters(boolean injectProjectBuildFilters) {
241 this.injectProjectBuildFilters = injectProjectBuildFilters;
242 }
243
244
245
246
247
248 public String getEscapeString() {
249 return escapeString;
250 }
251
252
253
254
255
256 public void setEscapeString(String escapeString) {
257 this.escapeString = escapeString;
258 }
259
260
261
262
263
264 public List<String> getProjectStartExpressions() {
265 return projectStartExpressions;
266 }
267
268
269
270
271
272 public void setProjectStartExpressions(List<String> projectStartExpressions) {
273 this.projectStartExpressions = projectStartExpressions;
274 }
275
276
277
278
279
280
281
282 public LinkedHashSet<String> getDelimiters() {
283 return delimiters;
284 }
285
286
287
288
289
290
291
292
293
294 public void setDelimiters(LinkedHashSet<String> delimiters) {
295 if (delimiters == null || delimiters.isEmpty()) {
296 this.delimiters.clear();
297 this.delimiters.add("${*}");
298 } else {
299 this.delimiters = delimiters;
300 }
301 }
302
303
304
305
306
307
308 public void setDelimiters(LinkedHashSet<String> delimiters, boolean useDefaultDelimiters) {
309 if (delimiters != null && !delimiters.isEmpty()) {
310 LinkedHashSet<String> delims = new LinkedHashSet<>();
311 if (useDefaultDelimiters) {
312 delims.addAll(this.getDelimiters());
313 }
314
315 for (String delim : delimiters) {
316 if (delim == null) {
317
318 delims.add("${*}");
319 } else {
320 delims.add(delim);
321 }
322 }
323
324 this.setDelimiters(delims);
325 }
326 }
327
328
329
330
331 public boolean isSupportMultiLineFiltering() {
332 return supportMultiLineFiltering;
333 }
334
335
336
337
338 public void setSupportMultiLineFiltering(boolean supportMultiLineFiltering) {
339 this.supportMultiLineFiltering = supportMultiLineFiltering;
340 }
341 }