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 String encoding;
43
44 private MavenSession mavenSession;
45
46
47
48
49
50
51
52
53 private List<String> projectStartExpressions = new ArrayList<String>();
54
55
56
57
58
59
60
61 private String escapeString;
62
63
64
65
66 private Properties additionalProperties;
67
68
69
70
71 private boolean injectProjectBuildFilters = false;
72
73
74
75
76
77
78
79
80 private LinkedHashSet<String> delimiters = new LinkedHashSet<String>();
81
82
83
84
85
86
87 private boolean supportMultiLineFiltering;
88
89 protected AbstractMavenFilteringRequest()
90 {
91 initDefaults();
92 }
93
94 protected AbstractMavenFilteringRequest( MavenProject mavenProject, List<String> filters,
95 String encoding, MavenSession mavenSession )
96 {
97 initDefaults();
98 this.mavenProject = mavenProject;
99 this.filters = filters;
100 this.encoding = encoding;
101 this.mavenSession = mavenSession;
102 }
103
104 private void initDefaults()
105 {
106 projectStartExpressions.add( "pom" );
107 projectStartExpressions.add( "project" );
108
109 delimiters.add( "${*}" );
110 delimiters.add( "@" );
111 }
112
113 public MavenProject getMavenProject()
114 {
115 return mavenProject;
116 }
117
118 public void setMavenProject( MavenProject mavenProject )
119 {
120 this.mavenProject = mavenProject;
121 }
122
123 public List<String> getFilters()
124 {
125 return filters;
126 }
127
128 public void setFilters( List<String> filters )
129 {
130 this.filters = filters;
131 }
132
133 public List<String> getFileFilters()
134 {
135 return getFilters();
136 }
137
138 public void setFileFilters( List<String> filters )
139 {
140 setFilters( filters );
141 }
142
143
144
145
146 public boolean isEscapeWindowsPaths()
147 {
148 return escapeWindowsPaths;
149 }
150
151
152
153
154 public void setEscapeWindowsPaths( boolean escapedBackslashesInFilePath )
155 {
156 this.escapeWindowsPaths = escapedBackslashesInFilePath;
157 }
158
159 public boolean isEscapedBackslashesInFilePath()
160 {
161 return isEscapeWindowsPaths();
162 }
163
164 public void setEscapedBackslashesInFilePath( boolean escape )
165 {
166 setEscapeWindowsPaths( escape );
167 }
168
169 public String getEncoding()
170 {
171 return encoding;
172 }
173
174 public void setEncoding( String encoding )
175 {
176 this.encoding = encoding;
177 }
178
179 public MavenSession getMavenSession()
180 {
181 return mavenSession;
182 }
183
184 public void setMavenSession( MavenSession mavenSession )
185 {
186 this.mavenSession = mavenSession;
187 }
188
189
190
191
192 public Properties getAdditionalProperties()
193 {
194 return additionalProperties;
195 }
196
197
198
199
200 public void setAdditionalProperties( Properties additionalProperties )
201 {
202 this.additionalProperties = additionalProperties;
203 }
204
205
206
207
208 public boolean isInjectProjectBuildFilters()
209 {
210 return injectProjectBuildFilters;
211 }
212
213
214
215
216 public void setInjectProjectBuildFilters( boolean injectProjectBuildFilters )
217 {
218 this.injectProjectBuildFilters = injectProjectBuildFilters;
219 }
220
221
222
223
224 public String getEscapeString()
225 {
226 return escapeString;
227 }
228
229
230
231
232
233 public void setEscapeString( String escapeString )
234 {
235 this.escapeString = escapeString;
236 }
237
238
239
240
241 public List<String> getProjectStartExpressions()
242 {
243 return projectStartExpressions;
244 }
245
246
247
248
249
250 public void setProjectStartExpressions( List<String> projectStartExpressions )
251 {
252 this.projectStartExpressions = projectStartExpressions;
253 }
254
255
256
257
258
259
260
261 public LinkedHashSet<String> getDelimiters()
262 {
263 return delimiters;
264 }
265
266
267
268
269
270
271
272
273
274 public void setDelimiters( LinkedHashSet<String> delimiters )
275 {
276 if ( delimiters == null || delimiters.isEmpty() )
277 {
278 this.delimiters.clear();
279 this.delimiters.add( "${*}" );
280 }
281 else
282 {
283 this.delimiters = delimiters;
284 }
285 }
286
287 public boolean isSupportMultiLineFiltering()
288 {
289 return supportMultiLineFiltering;
290 }
291
292 public void setSupportMultiLineFiltering( boolean supportMultiLineFiltering )
293 {
294 this.supportMultiLineFiltering = supportMultiLineFiltering;
295 }
296
297 }