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