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