@@ -178,9 +178,42 @@ public class CodeGenMojo extends AbstractMojo {
178
178
@ Parameter (name = "configOptions" )
179
179
private Map <?, ?> configOptions ;
180
180
181
+ /**
182
+ * A map of classes and the import that should be used for that class
183
+ */
184
+ @ Parameter (name = "instantiationTypes" )
185
+ private List <String > instantiationTypes ;
186
+
187
+ /**
188
+ * A map of classes and the import that should be used for that class
189
+ */
181
190
@ Parameter (name = "importMappings" )
182
191
private List <String > importMappings ;
183
192
193
+ /**
194
+ * A map of classes and the import that should be used for that class
195
+ */
196
+ @ Parameter (name = "typeMappings" )
197
+ private List <String > typeMappings ;
198
+
199
+ /**
200
+ * A map of classes and the import that should be used for that class
201
+ */
202
+ @ Parameter (name = "languageSpecificPrimitives" )
203
+ private List <String > languageSpecificPrimitives ;
204
+
205
+ /**
206
+ * A map of classes and the import that should be used for that class
207
+ */
208
+ @ Parameter (name = "additionalProperties" )
209
+ private List <String > additionalProperties ;
210
+
211
+ /**
212
+ * A map of classes and the import that should be used for that class
213
+ */
214
+ @ Parameter (name = "reservedWordsMappings" )
215
+ private List <String > reservedWordsMappings ;
216
+
184
217
/**
185
218
* Generate the apis
186
219
*/
@@ -390,44 +423,90 @@ public void execute() throws MojoExecutionException {
390
423
System .setProperty ("withXml" , withXml .toString ());
391
424
392
425
if (configOptions != null ) {
393
-
394
- if (configOptions .containsKey ("instantiation-types" )) {
426
+ // Retained for backwards-compataibility with configOptions -> instantiation-types
427
+ if (instantiationTypes == null && configOptions .containsKey ("instantiation-types" )) {
395
428
applyInstantiationTypesKvp (configOptions .get ("instantiation-types" ).toString (),
396
429
configurator );
397
430
}
398
431
432
+ // Retained for backwards-compataibility with configOptions -> import-mappings
399
433
if (importMappings == null && configOptions .containsKey ("import-mappings" )) {
400
434
applyImportMappingsKvp (configOptions .get ("import-mappings" ).toString (),
401
435
configurator );
402
436
}
403
437
404
- if (configOptions .containsKey ("type-mappings" )) {
438
+ // Retained for backwards-compataibility with configOptions -> type-mappings
439
+ if (typeMappings == null && configOptions .containsKey ("type-mappings" )) {
405
440
applyTypeMappingsKvp (configOptions .get ("type-mappings" ).toString (), configurator );
406
441
}
407
442
408
- if (configOptions .containsKey ("language-specific-primitives" )) {
443
+ // Retained for backwards-compataibility with configOptions -> language-specific-primitives
444
+ if (languageSpecificPrimitives == null && configOptions .containsKey ("language-specific-primitives" )) {
409
445
applyLanguageSpecificPrimitivesCsv (configOptions
410
446
.get ("language-specific-primitives" ).toString (), configurator );
411
447
}
412
448
413
- if (configOptions .containsKey ("additional-properties" )) {
449
+ // Retained for backwards-compataibility with configOptions -> additional-properties
450
+ if (additionalProperties == null && configOptions .containsKey ("additional-properties" )) {
414
451
applyAdditionalPropertiesKvp (configOptions .get ("additional-properties" ).toString (),
415
452
configurator );
416
453
}
417
454
418
- if (configOptions .containsKey ("reserved-words-mappings" )) {
455
+ // Retained for backwards-compataibility with configOptions -> reserved-words-mappings
456
+ if (reservedWordsMappings == null && configOptions .containsKey ("reserved-words-mappings" )) {
419
457
applyReservedWordsMappingsKvp (configOptions .get ("reserved-words-mappings" )
420
458
.toString (), configurator );
421
459
}
422
460
}
423
461
462
+ //Apply Instantiation Types
463
+ if (instantiationTypes != null && !configOptions .containsKey ("instantiation-types" )) {
464
+ String instantiationTypesAsString = instantiationTypes .toString ();
465
+ applyInstantiationTypesKvp (
466
+ instantiationTypesAsString .substring (0 , instantiationTypesAsString .length () - 1 ),
467
+ configurator );
468
+ }
469
+
470
+ //Apply Import Mappings
424
471
if (importMappings != null && !configOptions .containsKey ("import-mappings" )) {
425
472
String importMappingsAsString = importMappings .toString ();
426
473
applyImportMappingsKvp (
427
474
importMappingsAsString .substring (0 , importMappingsAsString .length () - 1 ),
428
475
configurator );
429
476
}
430
477
478
+ //Apply Type Mappings
479
+ if (typeMappings != null && !configOptions .containsKey ("type-mappings" )) {
480
+ String typeMappingsAsString = typeMappings .toString ();
481
+ applyTypeMappingsKvp (
482
+ typeMappingsAsString .substring (0 , typeMappingsAsString .length () - 1 ),
483
+ configurator );
484
+ }
485
+
486
+ //Apply Language Specific Primitives
487
+ if (languageSpecificPrimitives != null && !configOptions .containsKey ("language-specific-primitives" )) {
488
+ String languageSpecificPrimitivesAsString = languageSpecificPrimitives .toString ();
489
+ applyLanguageSpecificPrimitivesCsv (
490
+ languageSpecificPrimitivesAsString .substring (0 ,languageSpecificPrimitivesAsString .length () - 1 ),
491
+ configurator );
492
+ }
493
+
494
+ //Apply Additional Properties
495
+ if (additionalProperties != null && !configOptions .containsKey ("additional-properties" )) {
496
+ String additionalPropertiesAsString = additionalProperties .toString ();
497
+ applyAdditionalPropertiesKvp (
498
+ additionalPropertiesAsString .substring (0 , additionalPropertiesAsString .length () - 1 ),
499
+ configurator );
500
+ }
501
+
502
+ //Apply Reserved Words Mappings
503
+ if (reservedWordsMappings != null && !configOptions .containsKey ("reserved-words-mappings" )) {
504
+ String reservedWordsMappingsAsString = reservedWordsMappings .toString ();
505
+ applyReservedWordsMappingsKvp (
506
+ reservedWordsMappingsAsString .substring (0 , reservedWordsMappingsAsString .length () - 1 ),
507
+ configurator );
508
+ }
509
+
431
510
if (environmentVariables != null ) {
432
511
433
512
for (String key : environmentVariables .keySet ()) {
0 commit comments