1
2
3
4 package org.apache.maven.api.settings;
5
6 import java.io.Serializable;
7 import java.util.Collections;
8 import java.util.HashMap;
9 import java.util.Map;
10 import org.apache.maven.api.annotations.Experimental;
11 import org.apache.maven.api.annotations.Generated;
12 import org.apache.maven.api.annotations.Immutable;
13 import org.apache.maven.api.annotations.Nonnull;
14 import org.apache.maven.api.annotations.NotThreadSafe;
15 import org.apache.maven.api.annotations.ThreadSafe;
16 import org.apache.maven.api.xml.Dom;
17
18
19
20
21 @Experimental
22 @Generated @ThreadSafe @Immutable
23 public class Server
24 extends IdentifiableBase
25 implements Serializable
26 {
27
28
29
30 final String username;
31
32
33
34 final String password;
35
36
37
38 final String privateKey;
39
40
41
42 final String passphrase;
43
44
45
46 final String filePermissions;
47
48
49
50 final String directoryPermissions;
51
52
53
54 final Dom configuration;
55
56
57
58
59
60 Server(
61 String id,
62 String username,
63 String password,
64 String privateKey,
65 String passphrase,
66 String filePermissions,
67 String directoryPermissions,
68 Dom configuration
69 )
70 {
71 super(
72 id
73 );
74 this.username = username;
75 this.password = password;
76 this.privateKey = privateKey;
77 this.passphrase = passphrase;
78 this.filePermissions = filePermissions;
79 this.directoryPermissions = directoryPermissions;
80 this.configuration = configuration;
81 }
82
83
84
85
86
87
88 public String getUsername()
89 {
90 return this.username;
91 }
92
93
94
95
96
97
98 public String getPassword()
99 {
100 return this.password;
101 }
102
103
104
105
106
107
108 public String getPrivateKey()
109 {
110 return this.privateKey;
111 }
112
113
114
115
116
117
118 public String getPassphrase()
119 {
120 return this.passphrase;
121 }
122
123
124
125
126
127
128 public String getFilePermissions()
129 {
130 return this.filePermissions;
131 }
132
133
134
135
136
137
138 public String getDirectoryPermissions()
139 {
140 return this.directoryPermissions;
141 }
142
143
144
145
146
147
148 public Dom getConfiguration()
149 {
150 return this.configuration;
151 }
152
153
154
155
156
157
158 @Nonnull
159 public Builder with()
160 {
161 return newBuilder( this );
162 }
163
164
165
166
167
168
169 @Nonnull
170 public Server withId( String id )
171 {
172 return with().id( id ).build();
173 }
174
175
176
177
178
179
180 @Nonnull
181 public Server withUsername( String username )
182 {
183 return with().username( username ).build();
184 }
185
186
187
188
189
190
191 @Nonnull
192 public Server withPassword( String password )
193 {
194 return with().password( password ).build();
195 }
196
197
198
199
200
201
202 @Nonnull
203 public Server withPrivateKey( String privateKey )
204 {
205 return with().privateKey( privateKey ).build();
206 }
207
208
209
210
211
212
213 @Nonnull
214 public Server withPassphrase( String passphrase )
215 {
216 return with().passphrase( passphrase ).build();
217 }
218
219
220
221
222
223
224 @Nonnull
225 public Server withFilePermissions( String filePermissions )
226 {
227 return with().filePermissions( filePermissions ).build();
228 }
229
230
231
232
233
234
235 @Nonnull
236 public Server withDirectoryPermissions( String directoryPermissions )
237 {
238 return with().directoryPermissions( directoryPermissions ).build();
239 }
240
241
242
243
244
245
246 @Nonnull
247 public Server withConfiguration( Dom configuration )
248 {
249 return with().configuration( configuration ).build();
250 }
251
252
253
254
255
256
257
258
259 @Nonnull
260 public static Server newInstance()
261 {
262 return newInstance( true );
263 }
264
265
266
267
268
269
270
271
272 @Nonnull
273 public static Server newInstance( boolean withDefaults )
274 {
275 return newBuilder( withDefaults ).build();
276 }
277
278
279
280
281
282
283
284
285 @Nonnull
286 public static Builder newBuilder()
287 {
288 return newBuilder( true );
289 }
290
291
292
293
294
295
296
297 @Nonnull
298 public static Builder newBuilder( boolean withDefaults )
299 {
300 return new Builder( withDefaults );
301 }
302
303
304
305
306
307
308
309
310 @Nonnull
311 public static Builder newBuilder( Server from )
312 {
313 return newBuilder( from, false );
314 }
315
316
317
318
319
320
321
322
323 @Nonnull
324 public static Builder newBuilder( Server from, boolean forceCopy )
325 {
326 return new Builder( from, forceCopy );
327 }
328
329
330
331
332
333
334 @NotThreadSafe
335 public static class Builder
336 extends IdentifiableBase.Builder
337 {
338 Server base;
339 String username;
340 String password;
341 String privateKey;
342 String passphrase;
343 String filePermissions;
344 String directoryPermissions;
345 Dom configuration;
346
347 Builder( boolean withDefaults )
348 {
349 super( withDefaults );
350 if ( withDefaults )
351 {
352 }
353 }
354
355 Builder( Server base, boolean forceCopy )
356 {
357 super( base, forceCopy );
358 if ( forceCopy )
359 {
360 this.username = base.username;
361 this.password = base.password;
362 this.privateKey = base.privateKey;
363 this.passphrase = base.passphrase;
364 this.filePermissions = base.filePermissions;
365 this.directoryPermissions = base.directoryPermissions;
366 this.configuration = base.configuration;
367 }
368 else
369 {
370 this.base = base;
371 }
372 }
373
374 @Nonnull
375 public Builder id( String id )
376 {
377 this.id = id;
378 return this;
379 }
380
381 @Nonnull
382 public Builder username( String username )
383 {
384 this.username = username;
385 return this;
386 }
387
388 @Nonnull
389 public Builder password( String password )
390 {
391 this.password = password;
392 return this;
393 }
394
395 @Nonnull
396 public Builder privateKey( String privateKey )
397 {
398 this.privateKey = privateKey;
399 return this;
400 }
401
402 @Nonnull
403 public Builder passphrase( String passphrase )
404 {
405 this.passphrase = passphrase;
406 return this;
407 }
408
409 @Nonnull
410 public Builder filePermissions( String filePermissions )
411 {
412 this.filePermissions = filePermissions;
413 return this;
414 }
415
416 @Nonnull
417 public Builder directoryPermissions( String directoryPermissions )
418 {
419 this.directoryPermissions = directoryPermissions;
420 return this;
421 }
422
423 @Nonnull
424 public Builder configuration( Dom configuration )
425 {
426 this.configuration = configuration;
427 return this;
428 }
429
430
431 @Nonnull
432 public Server build()
433 {
434 if ( base != null
435 && ( id == null || id == base.id )
436 && ( username == null || username == base.username )
437 && ( password == null || password == base.password )
438 && ( privateKey == null || privateKey == base.privateKey )
439 && ( passphrase == null || passphrase == base.passphrase )
440 && ( filePermissions == null || filePermissions == base.filePermissions )
441 && ( directoryPermissions == null || directoryPermissions == base.directoryPermissions )
442 && ( configuration == null || configuration == base.configuration )
443 )
444 {
445 return base;
446 }
447 return new Server(
448 id != null ? id : ( base != null ? base.id : null ),
449 username != null ? username : ( base != null ? base.username : null ),
450 password != null ? password : ( base != null ? base.password : null ),
451 privateKey != null ? privateKey : ( base != null ? base.privateKey : null ),
452 passphrase != null ? passphrase : ( base != null ? base.passphrase : null ),
453 filePermissions != null ? filePermissions : ( base != null ? base.filePermissions : null ),
454 directoryPermissions != null ? directoryPermissions : ( base != null ? base.directoryPermissions : null ),
455 configuration != null ? configuration : ( base != null ? base.configuration : null )
456 );
457 }
458 }
459
460 }