1
2
3
4
5 package org.apache.maven.settings.v4;
6
7 import java.io.ObjectStreamException;
8 import java.util.AbstractList;
9 import java.util.ArrayList;
10 import java.util.Collection;
11 import java.util.HashMap;
12 import java.util.Iterator;
13 import java.util.LinkedHashMap;
14 import java.util.List;
15 import java.util.Map;
16 import java.util.Properties;
17 import java.util.Objects;
18 import java.util.function.BinaryOperator;
19 import java.util.function.Function;
20 import java.util.function.Supplier;
21 import java.util.stream.Collectors;
22
23 import org.apache.maven.api.annotations.Generated;
24 import org.apache.maven.api.xml.XmlNode;
25 import org.apache.maven.api.settings.TrackableBase;
26 import org.apache.maven.api.settings.IdentifiableBase;
27 import org.apache.maven.api.settings.Settings;
28 import org.apache.maven.api.settings.Proxy;
29 import org.apache.maven.api.settings.Server;
30 import org.apache.maven.api.settings.Mirror;
31 import org.apache.maven.api.settings.Profile;
32 import org.apache.maven.api.settings.Activation;
33 import org.apache.maven.api.settings.RepositoryBase;
34 import org.apache.maven.api.settings.Repository;
35 import org.apache.maven.api.settings.RepositoryPolicy;
36 import org.apache.maven.api.settings.ActivationProperty;
37 import org.apache.maven.api.settings.ActivationOS;
38 import org.apache.maven.api.settings.ActivationFile;
39 import org.apache.maven.api.settings.InputLocation;
40 import org.apache.maven.api.settings.InputSource;
41 import org.apache.maven.internal.xml.XmlNodeImpl;
42
43 @Generated
44 public class SettingsTransformer {
45
46 private final Function<String, String> transformer;
47
48 public SettingsTransformer(Function<String, String> transformer) {
49 this.transformer = transformer;
50 }
51
52
53
54
55 public Settings visit(Settings target) {
56 Objects.requireNonNull(target, "target cannot be null");
57 return transformSettings(target);
58 }
59
60
61
62
63 protected String transform(String value) {
64 return transformer.apply(value);
65 }
66
67 protected TrackableBase transformTrackableBase(TrackableBase target) {
68 if (target == null) {
69 return null;
70 }
71 Supplier<TrackableBase.Builder> creator = () -> TrackableBase.newBuilder(target);
72 TrackableBase.Builder builder = null;
73 return builder != null ? builder.build() : target;
74 }
75
76
77 protected IdentifiableBase transformIdentifiableBase(IdentifiableBase target) {
78 if (target == null) {
79 return null;
80 }
81 Supplier<IdentifiableBase.Builder> creator = () -> IdentifiableBase.newBuilder(target);
82 IdentifiableBase.Builder builder = null;
83 builder = (IdentifiableBase.Builder) transformIdentifiableBase_Id(creator, builder, target);
84 return builder != null ? builder.build() : target;
85 }
86
87 protected IdentifiableBase.Builder transformIdentifiableBase_Id(Supplier<? extends IdentifiableBase.Builder> creator, IdentifiableBase.Builder builder, IdentifiableBase target) {
88 String oldVal = target.getId();
89 String newVal = transform(oldVal);
90 return newVal != oldVal ? (builder != null ? builder : creator.get()).id(newVal) : builder;
91 }
92
93 protected Settings transformSettings(Settings target) {
94 if (target == null) {
95 return null;
96 }
97 Supplier<Settings.Builder> creator = () -> Settings.newBuilder(target);
98 Settings.Builder builder = null;
99 builder = (Settings.Builder) transformSettings_LocalRepository(creator, builder, target);
100 builder = (Settings.Builder) transformSettings_InteractiveMode(creator, builder, target);
101 builder = (Settings.Builder) transformSettings_UsePluginRegistry(creator, builder, target);
102 builder = (Settings.Builder) transformSettings_Offline(creator, builder, target);
103 builder = (Settings.Builder) transformSettings_Proxies(creator, builder, target);
104 builder = (Settings.Builder) transformSettings_Servers(creator, builder, target);
105 builder = (Settings.Builder) transformSettings_Mirrors(creator, builder, target);
106 builder = (Settings.Builder) transformSettings_Repositories(creator, builder, target);
107 builder = (Settings.Builder) transformSettings_PluginRepositories(creator, builder, target);
108 builder = (Settings.Builder) transformSettings_Profiles(creator, builder, target);
109 builder = (Settings.Builder) transformSettings_ActiveProfiles(creator, builder, target);
110 builder = (Settings.Builder) transformSettings_PluginGroups(creator, builder, target);
111 return builder != null ? builder.build() : target;
112 }
113
114 protected Settings.Builder transformSettings_LocalRepository(Supplier<? extends Settings.Builder> creator, Settings.Builder builder, Settings target) {
115 String oldVal = target.getLocalRepository();
116 String newVal = transform(oldVal);
117 return newVal != oldVal ? (builder != null ? builder : creator.get()).localRepository(newVal) : builder;
118 }
119 protected Settings.Builder transformSettings_InteractiveMode(Supplier<? extends Settings.Builder> creator, Settings.Builder builder, Settings target) {
120
121 return builder;
122 }
123 protected Settings.Builder transformSettings_UsePluginRegistry(Supplier<? extends Settings.Builder> creator, Settings.Builder builder, Settings target) {
124
125 return builder;
126 }
127 protected Settings.Builder transformSettings_Offline(Supplier<? extends Settings.Builder> creator, Settings.Builder builder, Settings target) {
128
129 return builder;
130 }
131 protected Settings.Builder transformSettings_Proxies(Supplier<? extends Settings.Builder> creator, Settings.Builder builder, Settings target) {
132 List<Proxy> oldVal = target.getProxies();
133 List<Proxy> newVal = transform(oldVal, this::transformProxy);
134 return newVal != oldVal ? (builder != null ? builder : creator.get()).proxies(newVal) : builder;
135 }
136 protected Settings.Builder transformSettings_Servers(Supplier<? extends Settings.Builder> creator, Settings.Builder builder, Settings target) {
137 List<Server> oldVal = target.getServers();
138 List<Server> newVal = transform(oldVal, this::transformServer);
139 return newVal != oldVal ? (builder != null ? builder : creator.get()).servers(newVal) : builder;
140 }
141 protected Settings.Builder transformSettings_Mirrors(Supplier<? extends Settings.Builder> creator, Settings.Builder builder, Settings target) {
142 List<Mirror> oldVal = target.getMirrors();
143 List<Mirror> newVal = transform(oldVal, this::transformMirror);
144 return newVal != oldVal ? (builder != null ? builder : creator.get()).mirrors(newVal) : builder;
145 }
146 protected Settings.Builder transformSettings_Repositories(Supplier<? extends Settings.Builder> creator, Settings.Builder builder, Settings target) {
147 List<Repository> oldVal = target.getRepositories();
148 List<Repository> newVal = transform(oldVal, this::transformRepository);
149 return newVal != oldVal ? (builder != null ? builder : creator.get()).repositories(newVal) : builder;
150 }
151 protected Settings.Builder transformSettings_PluginRepositories(Supplier<? extends Settings.Builder> creator, Settings.Builder builder, Settings target) {
152 List<Repository> oldVal = target.getPluginRepositories();
153 List<Repository> newVal = transform(oldVal, this::transformRepository);
154 return newVal != oldVal ? (builder != null ? builder : creator.get()).pluginRepositories(newVal) : builder;
155 }
156 protected Settings.Builder transformSettings_Profiles(Supplier<? extends Settings.Builder> creator, Settings.Builder builder, Settings target) {
157 List<Profile> oldVal = target.getProfiles();
158 List<Profile> newVal = transform(oldVal, this::transformProfile);
159 return newVal != oldVal ? (builder != null ? builder : creator.get()).profiles(newVal) : builder;
160 }
161 protected Settings.Builder transformSettings_ActiveProfiles(Supplier<? extends Settings.Builder> creator, Settings.Builder builder, Settings target) {
162 List<String> oldVal = target.getActiveProfiles();
163 List<String> newVal = transform(oldVal, this::transform);
164 return newVal != oldVal ? (builder != null ? builder : creator.get()).activeProfiles(newVal) : builder;
165 }
166 protected Settings.Builder transformSettings_PluginGroups(Supplier<? extends Settings.Builder> creator, Settings.Builder builder, Settings target) {
167 List<String> oldVal = target.getPluginGroups();
168 List<String> newVal = transform(oldVal, this::transform);
169 return newVal != oldVal ? (builder != null ? builder : creator.get()).pluginGroups(newVal) : builder;
170 }
171
172 protected Proxy transformProxy(Proxy target) {
173 if (target == null) {
174 return null;
175 }
176 Supplier<Proxy.Builder> creator = () -> Proxy.newBuilder(target);
177 Proxy.Builder builder = null;
178 builder = (Proxy.Builder) transformProxy_ActiveString(creator, builder, target);
179 builder = (Proxy.Builder) transformProxy_Protocol(creator, builder, target);
180 builder = (Proxy.Builder) transformProxy_Username(creator, builder, target);
181 builder = (Proxy.Builder) transformProxy_Password(creator, builder, target);
182 builder = (Proxy.Builder) transformProxy_PortString(creator, builder, target);
183 builder = (Proxy.Builder) transformProxy_Host(creator, builder, target);
184 builder = (Proxy.Builder) transformProxy_NonProxyHosts(creator, builder, target);
185 builder = (Proxy.Builder) transformIdentifiableBase_Id(creator, builder, target);
186 return builder != null ? builder.build() : target;
187 }
188
189 protected Proxy.Builder transformProxy_ActiveString(Supplier<? extends Proxy.Builder> creator, Proxy.Builder builder, Proxy target) {
190 String oldVal = target.getActiveString();
191 String newVal = transform(oldVal);
192 return newVal != oldVal ? (builder != null ? builder : creator.get()).activeString(newVal) : builder;
193 }
194 protected Proxy.Builder transformProxy_Protocol(Supplier<? extends Proxy.Builder> creator, Proxy.Builder builder, Proxy target) {
195 String oldVal = target.getProtocol();
196 String newVal = transform(oldVal);
197 return newVal != oldVal ? (builder != null ? builder : creator.get()).protocol(newVal) : builder;
198 }
199 protected Proxy.Builder transformProxy_Username(Supplier<? extends Proxy.Builder> creator, Proxy.Builder builder, Proxy target) {
200 String oldVal = target.getUsername();
201 String newVal = transform(oldVal);
202 return newVal != oldVal ? (builder != null ? builder : creator.get()).username(newVal) : builder;
203 }
204 protected Proxy.Builder transformProxy_Password(Supplier<? extends Proxy.Builder> creator, Proxy.Builder builder, Proxy target) {
205 String oldVal = target.getPassword();
206 String newVal = transform(oldVal);
207 return newVal != oldVal ? (builder != null ? builder : creator.get()).password(newVal) : builder;
208 }
209 protected Proxy.Builder transformProxy_PortString(Supplier<? extends Proxy.Builder> creator, Proxy.Builder builder, Proxy target) {
210 String oldVal = target.getPortString();
211 String newVal = transform(oldVal);
212 return newVal != oldVal ? (builder != null ? builder : creator.get()).portString(newVal) : builder;
213 }
214 protected Proxy.Builder transformProxy_Host(Supplier<? extends Proxy.Builder> creator, Proxy.Builder builder, Proxy target) {
215 String oldVal = target.getHost();
216 String newVal = transform(oldVal);
217 return newVal != oldVal ? (builder != null ? builder : creator.get()).host(newVal) : builder;
218 }
219 protected Proxy.Builder transformProxy_NonProxyHosts(Supplier<? extends Proxy.Builder> creator, Proxy.Builder builder, Proxy target) {
220 String oldVal = target.getNonProxyHosts();
221 String newVal = transform(oldVal);
222 return newVal != oldVal ? (builder != null ? builder : creator.get()).nonProxyHosts(newVal) : builder;
223 }
224 protected Proxy.Builder transformProxy_Id(Supplier<? extends Proxy.Builder> creator, Proxy.Builder builder, Proxy target) {
225 String oldVal = target.getId();
226 String newVal = transform(oldVal);
227 return newVal != oldVal ? (builder != null ? builder : creator.get()).id(newVal) : builder;
228 }
229
230 protected Server transformServer(Server target) {
231 if (target == null) {
232 return null;
233 }
234 Supplier<Server.Builder> creator = () -> Server.newBuilder(target);
235 Server.Builder builder = null;
236 builder = (Server.Builder) transformServer_Username(creator, builder, target);
237 builder = (Server.Builder) transformServer_Password(creator, builder, target);
238 builder = (Server.Builder) transformServer_PrivateKey(creator, builder, target);
239 builder = (Server.Builder) transformServer_Passphrase(creator, builder, target);
240 builder = (Server.Builder) transformServer_FilePermissions(creator, builder, target);
241 builder = (Server.Builder) transformServer_DirectoryPermissions(creator, builder, target);
242 builder = (Server.Builder) transformServer_Configuration(creator, builder, target);
243 builder = (Server.Builder) transformIdentifiableBase_Id(creator, builder, target);
244 return builder != null ? builder.build() : target;
245 }
246
247 protected Server.Builder transformServer_Username(Supplier<? extends Server.Builder> creator, Server.Builder builder, Server target) {
248 String oldVal = target.getUsername();
249 String newVal = transform(oldVal);
250 return newVal != oldVal ? (builder != null ? builder : creator.get()).username(newVal) : builder;
251 }
252 protected Server.Builder transformServer_Password(Supplier<? extends Server.Builder> creator, Server.Builder builder, Server target) {
253 String oldVal = target.getPassword();
254 String newVal = transform(oldVal);
255 return newVal != oldVal ? (builder != null ? builder : creator.get()).password(newVal) : builder;
256 }
257 protected Server.Builder transformServer_PrivateKey(Supplier<? extends Server.Builder> creator, Server.Builder builder, Server target) {
258 String oldVal = target.getPrivateKey();
259 String newVal = transform(oldVal);
260 return newVal != oldVal ? (builder != null ? builder : creator.get()).privateKey(newVal) : builder;
261 }
262 protected Server.Builder transformServer_Passphrase(Supplier<? extends Server.Builder> creator, Server.Builder builder, Server target) {
263 String oldVal = target.getPassphrase();
264 String newVal = transform(oldVal);
265 return newVal != oldVal ? (builder != null ? builder : creator.get()).passphrase(newVal) : builder;
266 }
267 protected Server.Builder transformServer_FilePermissions(Supplier<? extends Server.Builder> creator, Server.Builder builder, Server target) {
268 String oldVal = target.getFilePermissions();
269 String newVal = transform(oldVal);
270 return newVal != oldVal ? (builder != null ? builder : creator.get()).filePermissions(newVal) : builder;
271 }
272 protected Server.Builder transformServer_DirectoryPermissions(Supplier<? extends Server.Builder> creator, Server.Builder builder, Server target) {
273 String oldVal = target.getDirectoryPermissions();
274 String newVal = transform(oldVal);
275 return newVal != oldVal ? (builder != null ? builder : creator.get()).directoryPermissions(newVal) : builder;
276 }
277 protected Server.Builder transformServer_Configuration(Supplier<? extends Server.Builder> creator, Server.Builder builder, Server target) {
278 XmlNode oldVal = target.getConfiguration();
279 XmlNode newVal = transform(oldVal);
280 return newVal != oldVal ? (builder != null ? builder : creator.get()).configuration(newVal) : builder;
281 }
282 protected Server.Builder transformServer_Id(Supplier<? extends Server.Builder> creator, Server.Builder builder, Server target) {
283 String oldVal = target.getId();
284 String newVal = transform(oldVal);
285 return newVal != oldVal ? (builder != null ? builder : creator.get()).id(newVal) : builder;
286 }
287
288 protected Mirror transformMirror(Mirror target) {
289 if (target == null) {
290 return null;
291 }
292 Supplier<Mirror.Builder> creator = () -> Mirror.newBuilder(target);
293 Mirror.Builder builder = null;
294 builder = (Mirror.Builder) transformMirror_MirrorOf(creator, builder, target);
295 builder = (Mirror.Builder) transformMirror_Name(creator, builder, target);
296 builder = (Mirror.Builder) transformMirror_Url(creator, builder, target);
297 builder = (Mirror.Builder) transformMirror_Layout(creator, builder, target);
298 builder = (Mirror.Builder) transformMirror_MirrorOfLayouts(creator, builder, target);
299 builder = (Mirror.Builder) transformMirror_Blocked(creator, builder, target);
300 builder = (Mirror.Builder) transformIdentifiableBase_Id(creator, builder, target);
301 return builder != null ? builder.build() : target;
302 }
303
304 protected Mirror.Builder transformMirror_MirrorOf(Supplier<? extends Mirror.Builder> creator, Mirror.Builder builder, Mirror target) {
305 String oldVal = target.getMirrorOf();
306 String newVal = transform(oldVal);
307 return newVal != oldVal ? (builder != null ? builder : creator.get()).mirrorOf(newVal) : builder;
308 }
309 protected Mirror.Builder transformMirror_Name(Supplier<? extends Mirror.Builder> creator, Mirror.Builder builder, Mirror target) {
310 String oldVal = target.getName();
311 String newVal = transform(oldVal);
312 return newVal != oldVal ? (builder != null ? builder : creator.get()).name(newVal) : builder;
313 }
314 protected Mirror.Builder transformMirror_Url(Supplier<? extends Mirror.Builder> creator, Mirror.Builder builder, Mirror target) {
315 String oldVal = target.getUrl();
316 String newVal = transform(oldVal);
317 return newVal != oldVal ? (builder != null ? builder : creator.get()).url(newVal) : builder;
318 }
319 protected Mirror.Builder transformMirror_Layout(Supplier<? extends Mirror.Builder> creator, Mirror.Builder builder, Mirror target) {
320 String oldVal = target.getLayout();
321 String newVal = transform(oldVal);
322 return newVal != oldVal ? (builder != null ? builder : creator.get()).layout(newVal) : builder;
323 }
324 protected Mirror.Builder transformMirror_MirrorOfLayouts(Supplier<? extends Mirror.Builder> creator, Mirror.Builder builder, Mirror target) {
325 String oldVal = target.getMirrorOfLayouts();
326 String newVal = transform(oldVal);
327 return newVal != oldVal ? (builder != null ? builder : creator.get()).mirrorOfLayouts(newVal) : builder;
328 }
329 protected Mirror.Builder transformMirror_Blocked(Supplier<? extends Mirror.Builder> creator, Mirror.Builder builder, Mirror target) {
330
331 return builder;
332 }
333 protected Mirror.Builder transformMirror_Id(Supplier<? extends Mirror.Builder> creator, Mirror.Builder builder, Mirror target) {
334 String oldVal = target.getId();
335 String newVal = transform(oldVal);
336 return newVal != oldVal ? (builder != null ? builder : creator.get()).id(newVal) : builder;
337 }
338
339 protected Profile transformProfile(Profile target) {
340 if (target == null) {
341 return null;
342 }
343 Supplier<Profile.Builder> creator = () -> Profile.newBuilder(target);
344 Profile.Builder builder = null;
345 builder = (Profile.Builder) transformProfile_Activation(creator, builder, target);
346 builder = (Profile.Builder) transformProfile_Properties(creator, builder, target);
347 builder = (Profile.Builder) transformProfile_Repositories(creator, builder, target);
348 builder = (Profile.Builder) transformProfile_PluginRepositories(creator, builder, target);
349 builder = (Profile.Builder) transformIdentifiableBase_Id(creator, builder, target);
350 return builder != null ? builder.build() : target;
351 }
352
353 protected Profile.Builder transformProfile_Activation(Supplier<? extends Profile.Builder> creator, Profile.Builder builder, Profile target) {
354 Activation oldVal = target.getActivation();
355 Activation newVal = transformActivation(oldVal);
356 return newVal != oldVal ? (builder != null ? builder : creator.get()).activation(newVal) : builder;
357 }
358 protected Profile.Builder transformProfile_Properties(Supplier<? extends Profile.Builder> creator, Profile.Builder builder, Profile target) {
359 Map<String, String> props = target.getProperties();
360 Map<String, String> newProps = null;
361 for (Map.Entry<String, String> entry : props.entrySet()) {
362 String newVal = transform(entry.getValue());
363 if (newVal != null && newVal != entry.getValue()) {
364 if (newProps == null) {
365 newProps = new HashMap<>();
366 newProps.putAll(props);
367 builder = builder != null ? builder : creator.get();
368 builder.properties(newProps);
369 }
370 newProps.put(entry.getKey(), newVal);
371 }
372 }
373 return builder;
374 }
375 protected Profile.Builder transformProfile_Repositories(Supplier<? extends Profile.Builder> creator, Profile.Builder builder, Profile target) {
376 List<Repository> oldVal = target.getRepositories();
377 List<Repository> newVal = transform(oldVal, this::transformRepository);
378 return newVal != oldVal ? (builder != null ? builder : creator.get()).repositories(newVal) : builder;
379 }
380 protected Profile.Builder transformProfile_PluginRepositories(Supplier<? extends Profile.Builder> creator, Profile.Builder builder, Profile target) {
381 List<Repository> oldVal = target.getPluginRepositories();
382 List<Repository> newVal = transform(oldVal, this::transformRepository);
383 return newVal != oldVal ? (builder != null ? builder : creator.get()).pluginRepositories(newVal) : builder;
384 }
385 protected Profile.Builder transformProfile_Id(Supplier<? extends Profile.Builder> creator, Profile.Builder builder, Profile target) {
386 String oldVal = target.getId();
387 String newVal = transform(oldVal);
388 return newVal != oldVal ? (builder != null ? builder : creator.get()).id(newVal) : builder;
389 }
390
391 protected Activation transformActivation(Activation target) {
392 if (target == null) {
393 return null;
394 }
395 Supplier<Activation.Builder> creator = () -> Activation.newBuilder(target);
396 Activation.Builder builder = null;
397 builder = (Activation.Builder) transformActivation_ActiveByDefault(creator, builder, target);
398 builder = (Activation.Builder) transformActivation_Jdk(creator, builder, target);
399 builder = (Activation.Builder) transformActivation_Os(creator, builder, target);
400 builder = (Activation.Builder) transformActivation_Property(creator, builder, target);
401 builder = (Activation.Builder) transformActivation_File(creator, builder, target);
402 builder = (Activation.Builder) transformActivation_Packaging(creator, builder, target);
403 builder = (Activation.Builder) transformActivation_Condition(creator, builder, target);
404 return builder != null ? builder.build() : target;
405 }
406
407 protected Activation.Builder transformActivation_ActiveByDefault(Supplier<? extends Activation.Builder> creator, Activation.Builder builder, Activation target) {
408
409 return builder;
410 }
411 protected Activation.Builder transformActivation_Jdk(Supplier<? extends Activation.Builder> creator, Activation.Builder builder, Activation target) {
412 String oldVal = target.getJdk();
413 String newVal = transform(oldVal);
414 return newVal != oldVal ? (builder != null ? builder : creator.get()).jdk(newVal) : builder;
415 }
416 protected Activation.Builder transformActivation_Os(Supplier<? extends Activation.Builder> creator, Activation.Builder builder, Activation target) {
417 ActivationOS oldVal = target.getOs();
418 ActivationOS newVal = transformActivationOS(oldVal);
419 return newVal != oldVal ? (builder != null ? builder : creator.get()).os(newVal) : builder;
420 }
421 protected Activation.Builder transformActivation_Property(Supplier<? extends Activation.Builder> creator, Activation.Builder builder, Activation target) {
422 ActivationProperty oldVal = target.getProperty();
423 ActivationProperty newVal = transformActivationProperty(oldVal);
424 return newVal != oldVal ? (builder != null ? builder : creator.get()).property(newVal) : builder;
425 }
426 protected Activation.Builder transformActivation_File(Supplier<? extends Activation.Builder> creator, Activation.Builder builder, Activation target) {
427 ActivationFile oldVal = target.getFile();
428 ActivationFile newVal = transformActivationFile(oldVal);
429 return newVal != oldVal ? (builder != null ? builder : creator.get()).file(newVal) : builder;
430 }
431 protected Activation.Builder transformActivation_Packaging(Supplier<? extends Activation.Builder> creator, Activation.Builder builder, Activation target) {
432 String oldVal = target.getPackaging();
433 String newVal = transform(oldVal);
434 return newVal != oldVal ? (builder != null ? builder : creator.get()).packaging(newVal) : builder;
435 }
436 protected Activation.Builder transformActivation_Condition(Supplier<? extends Activation.Builder> creator, Activation.Builder builder, Activation target) {
437 String oldVal = target.getCondition();
438 String newVal = transform(oldVal);
439 return newVal != oldVal ? (builder != null ? builder : creator.get()).condition(newVal) : builder;
440 }
441
442 protected RepositoryBase transformRepositoryBase(RepositoryBase target) {
443 if (target == null) {
444 return null;
445 }
446 Supplier<RepositoryBase.Builder> creator = () -> RepositoryBase.newBuilder(target);
447 RepositoryBase.Builder builder = null;
448 builder = (RepositoryBase.Builder) transformRepositoryBase_Name(creator, builder, target);
449 builder = (RepositoryBase.Builder) transformRepositoryBase_Url(creator, builder, target);
450 builder = (RepositoryBase.Builder) transformRepositoryBase_Layout(creator, builder, target);
451 builder = (RepositoryBase.Builder) transformIdentifiableBase_Id(creator, builder, target);
452 return builder != null ? builder.build() : target;
453 }
454
455 protected RepositoryBase.Builder transformRepositoryBase_Name(Supplier<? extends RepositoryBase.Builder> creator, RepositoryBase.Builder builder, RepositoryBase target) {
456 String oldVal = target.getName();
457 String newVal = transform(oldVal);
458 return newVal != oldVal ? (builder != null ? builder : creator.get()).name(newVal) : builder;
459 }
460 protected RepositoryBase.Builder transformRepositoryBase_Url(Supplier<? extends RepositoryBase.Builder> creator, RepositoryBase.Builder builder, RepositoryBase target) {
461 String oldVal = target.getUrl();
462 String newVal = transform(oldVal);
463 return newVal != oldVal ? (builder != null ? builder : creator.get()).url(newVal) : builder;
464 }
465 protected RepositoryBase.Builder transformRepositoryBase_Layout(Supplier<? extends RepositoryBase.Builder> creator, RepositoryBase.Builder builder, RepositoryBase target) {
466 String oldVal = target.getLayout();
467 String newVal = transform(oldVal);
468 return newVal != oldVal ? (builder != null ? builder : creator.get()).layout(newVal) : builder;
469 }
470 protected RepositoryBase.Builder transformRepositoryBase_Id(Supplier<? extends RepositoryBase.Builder> creator, RepositoryBase.Builder builder, RepositoryBase target) {
471 String oldVal = target.getId();
472 String newVal = transform(oldVal);
473 return newVal != oldVal ? (builder != null ? builder : creator.get()).id(newVal) : builder;
474 }
475
476 protected Repository transformRepository(Repository target) {
477 if (target == null) {
478 return null;
479 }
480 Supplier<Repository.Builder> creator = () -> Repository.newBuilder(target);
481 Repository.Builder builder = null;
482 builder = (Repository.Builder) transformRepository_Releases(creator, builder, target);
483 builder = (Repository.Builder) transformRepository_Snapshots(creator, builder, target);
484 builder = (Repository.Builder) transformRepositoryBase_Name(creator, builder, target);
485 builder = (Repository.Builder) transformRepositoryBase_Url(creator, builder, target);
486 builder = (Repository.Builder) transformRepositoryBase_Layout(creator, builder, target);
487 builder = (Repository.Builder) transformIdentifiableBase_Id(creator, builder, target);
488 return builder != null ? builder.build() : target;
489 }
490
491 protected Repository.Builder transformRepository_Releases(Supplier<? extends Repository.Builder> creator, Repository.Builder builder, Repository target) {
492 RepositoryPolicy oldVal = target.getReleases();
493 RepositoryPolicy newVal = transformRepositoryPolicy(oldVal);
494 return newVal != oldVal ? (builder != null ? builder : creator.get()).releases(newVal) : builder;
495 }
496 protected Repository.Builder transformRepository_Snapshots(Supplier<? extends Repository.Builder> creator, Repository.Builder builder, Repository target) {
497 RepositoryPolicy oldVal = target.getSnapshots();
498 RepositoryPolicy newVal = transformRepositoryPolicy(oldVal);
499 return newVal != oldVal ? (builder != null ? builder : creator.get()).snapshots(newVal) : builder;
500 }
501 protected Repository.Builder transformRepository_Name(Supplier<? extends Repository.Builder> creator, Repository.Builder builder, Repository target) {
502 String oldVal = target.getName();
503 String newVal = transform(oldVal);
504 return newVal != oldVal ? (builder != null ? builder : creator.get()).name(newVal) : builder;
505 }
506 protected Repository.Builder transformRepository_Url(Supplier<? extends Repository.Builder> creator, Repository.Builder builder, Repository target) {
507 String oldVal = target.getUrl();
508 String newVal = transform(oldVal);
509 return newVal != oldVal ? (builder != null ? builder : creator.get()).url(newVal) : builder;
510 }
511 protected Repository.Builder transformRepository_Layout(Supplier<? extends Repository.Builder> creator, Repository.Builder builder, Repository target) {
512 String oldVal = target.getLayout();
513 String newVal = transform(oldVal);
514 return newVal != oldVal ? (builder != null ? builder : creator.get()).layout(newVal) : builder;
515 }
516 protected Repository.Builder transformRepository_Id(Supplier<? extends Repository.Builder> creator, Repository.Builder builder, Repository target) {
517 String oldVal = target.getId();
518 String newVal = transform(oldVal);
519 return newVal != oldVal ? (builder != null ? builder : creator.get()).id(newVal) : builder;
520 }
521
522 protected RepositoryPolicy transformRepositoryPolicy(RepositoryPolicy target) {
523 if (target == null) {
524 return null;
525 }
526 Supplier<RepositoryPolicy.Builder> creator = () -> RepositoryPolicy.newBuilder(target);
527 RepositoryPolicy.Builder builder = null;
528 builder = (RepositoryPolicy.Builder) transformRepositoryPolicy_Enabled(creator, builder, target);
529 builder = (RepositoryPolicy.Builder) transformRepositoryPolicy_UpdatePolicy(creator, builder, target);
530 builder = (RepositoryPolicy.Builder) transformRepositoryPolicy_ChecksumPolicy(creator, builder, target);
531 return builder != null ? builder.build() : target;
532 }
533
534 protected RepositoryPolicy.Builder transformRepositoryPolicy_Enabled(Supplier<? extends RepositoryPolicy.Builder> creator, RepositoryPolicy.Builder builder, RepositoryPolicy target) {
535
536 return builder;
537 }
538 protected RepositoryPolicy.Builder transformRepositoryPolicy_UpdatePolicy(Supplier<? extends RepositoryPolicy.Builder> creator, RepositoryPolicy.Builder builder, RepositoryPolicy target) {
539 String oldVal = target.getUpdatePolicy();
540 String newVal = transform(oldVal);
541 return newVal != oldVal ? (builder != null ? builder : creator.get()).updatePolicy(newVal) : builder;
542 }
543 protected RepositoryPolicy.Builder transformRepositoryPolicy_ChecksumPolicy(Supplier<? extends RepositoryPolicy.Builder> creator, RepositoryPolicy.Builder builder, RepositoryPolicy target) {
544 String oldVal = target.getChecksumPolicy();
545 String newVal = transform(oldVal);
546 return newVal != oldVal ? (builder != null ? builder : creator.get()).checksumPolicy(newVal) : builder;
547 }
548
549 protected ActivationProperty transformActivationProperty(ActivationProperty target) {
550 if (target == null) {
551 return null;
552 }
553 Supplier<ActivationProperty.Builder> creator = () -> ActivationProperty.newBuilder(target);
554 ActivationProperty.Builder builder = null;
555 builder = (ActivationProperty.Builder) transformActivationProperty_Name(creator, builder, target);
556 builder = (ActivationProperty.Builder) transformActivationProperty_Value(creator, builder, target);
557 return builder != null ? builder.build() : target;
558 }
559
560 protected ActivationProperty.Builder transformActivationProperty_Name(Supplier<? extends ActivationProperty.Builder> creator, ActivationProperty.Builder builder, ActivationProperty target) {
561 String oldVal = target.getName();
562 String newVal = transform(oldVal);
563 return newVal != oldVal ? (builder != null ? builder : creator.get()).name(newVal) : builder;
564 }
565 protected ActivationProperty.Builder transformActivationProperty_Value(Supplier<? extends ActivationProperty.Builder> creator, ActivationProperty.Builder builder, ActivationProperty target) {
566 String oldVal = target.getValue();
567 String newVal = transform(oldVal);
568 return newVal != oldVal ? (builder != null ? builder : creator.get()).value(newVal) : builder;
569 }
570
571 protected ActivationOS transformActivationOS(ActivationOS target) {
572 if (target == null) {
573 return null;
574 }
575 Supplier<ActivationOS.Builder> creator = () -> ActivationOS.newBuilder(target);
576 ActivationOS.Builder builder = null;
577 builder = (ActivationOS.Builder) transformActivationOS_Name(creator, builder, target);
578 builder = (ActivationOS.Builder) transformActivationOS_Family(creator, builder, target);
579 builder = (ActivationOS.Builder) transformActivationOS_Arch(creator, builder, target);
580 builder = (ActivationOS.Builder) transformActivationOS_Version(creator, builder, target);
581 return builder != null ? builder.build() : target;
582 }
583
584 protected ActivationOS.Builder transformActivationOS_Name(Supplier<? extends ActivationOS.Builder> creator, ActivationOS.Builder builder, ActivationOS target) {
585 String oldVal = target.getName();
586 String newVal = transform(oldVal);
587 return newVal != oldVal ? (builder != null ? builder : creator.get()).name(newVal) : builder;
588 }
589 protected ActivationOS.Builder transformActivationOS_Family(Supplier<? extends ActivationOS.Builder> creator, ActivationOS.Builder builder, ActivationOS target) {
590 String oldVal = target.getFamily();
591 String newVal = transform(oldVal);
592 return newVal != oldVal ? (builder != null ? builder : creator.get()).family(newVal) : builder;
593 }
594 protected ActivationOS.Builder transformActivationOS_Arch(Supplier<? extends ActivationOS.Builder> creator, ActivationOS.Builder builder, ActivationOS target) {
595 String oldVal = target.getArch();
596 String newVal = transform(oldVal);
597 return newVal != oldVal ? (builder != null ? builder : creator.get()).arch(newVal) : builder;
598 }
599 protected ActivationOS.Builder transformActivationOS_Version(Supplier<? extends ActivationOS.Builder> creator, ActivationOS.Builder builder, ActivationOS target) {
600 String oldVal = target.getVersion();
601 String newVal = transform(oldVal);
602 return newVal != oldVal ? (builder != null ? builder : creator.get()).version(newVal) : builder;
603 }
604
605 protected ActivationFile transformActivationFile(ActivationFile target) {
606 if (target == null) {
607 return null;
608 }
609 Supplier<ActivationFile.Builder> creator = () -> ActivationFile.newBuilder(target);
610 ActivationFile.Builder builder = null;
611 builder = (ActivationFile.Builder) transformActivationFile_Missing(creator, builder, target);
612 builder = (ActivationFile.Builder) transformActivationFile_Exists(creator, builder, target);
613 return builder != null ? builder.build() : target;
614 }
615
616 protected ActivationFile.Builder transformActivationFile_Missing(Supplier<? extends ActivationFile.Builder> creator, ActivationFile.Builder builder, ActivationFile target) {
617 String oldVal = target.getMissing();
618 String newVal = transform(oldVal);
619 return newVal != oldVal ? (builder != null ? builder : creator.get()).missing(newVal) : builder;
620 }
621 protected ActivationFile.Builder transformActivationFile_Exists(Supplier<? extends ActivationFile.Builder> creator, ActivationFile.Builder builder, ActivationFile target) {
622 String oldVal = target.getExists();
623 String newVal = transform(oldVal);
624 return newVal != oldVal ? (builder != null ? builder : creator.get()).exists(newVal) : builder;
625 }
626
627 protected <T> List<T> transform(List<T> list, Function<T, T> transformer) {
628 List<T> newList = list;
629 for (int i = 0; i < list.size(); i++) {
630 T oldVal = list.get(i);
631 T newVal = transformer.apply(oldVal);
632 if (newVal != oldVal) {
633 if (newList == list) {
634 newList = new ArrayList<>(list);
635 }
636 newList.set(i, newVal);
637 }
638 }
639 return newList;
640 }
641
642 protected <T> Map<String, T> transform(Map<String, T> map, Function<T, T> transformer) {
643 Map<String, T> newMap = map;
644 for (String key : map.keySet()) {
645 T oldVal = map.get(key);
646 T newVal = transformer.apply(oldVal);
647 if (newVal != oldVal) {
648 if (newMap == map) {
649 newMap = new HashMap<>(map);
650 }
651 newMap.put(key, newVal);
652 }
653 }
654 return newMap;
655 }
656
657 protected XmlNode transform(XmlNode node) {
658 if (node != null) {
659 String oldValue = node.getValue();
660 String newValue = transform(oldValue);
661 Map<String, String> oldAttrs = node.getAttributes();
662 Map<String, String> newAttrs = transform(oldAttrs, this::transform);
663 List<XmlNode> oldChildren = node.getChildren();
664 List<XmlNode> newChildren = transform(oldChildren, this::transform);
665 if (oldValue != newValue || oldAttrs != newAttrs || oldChildren != newChildren) {
666 return new XmlNodeImpl(node.getPrefix(), node.getNamespaceUri(), node.getName(),
667 newValue, newAttrs, newChildren, node.getInputLocation());
668 }
669 }
670 return node;
671 }
672 }