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