@@ -58,6 +58,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
58
58
public static final String DEFAULT_LIBRARY = "<default>" ;
59
59
public static final String DATE_LIBRARY = "dateLibrary" ;
60
60
public static final String JAVA8_MODE = "java8" ;
61
+ public static final String JAVA11_MODE = "java11" ;
61
62
public static final String SUPPORT_ASYNC = "supportAsync" ;
62
63
public static final String WITH_XML = "withXml" ;
63
64
public static final String SUPPORT_JAVA6 = "supportJava6" ;
@@ -69,6 +70,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
69
70
protected String dateLibrary = "threetenbp" ;
70
71
protected boolean supportAsync = false ;
71
72
protected boolean java8Mode = false ;
73
+ protected boolean java11Mode = false ;
72
74
protected boolean withXml = false ;
73
75
protected String invokerPackage = "io.swagger" ;
74
76
protected String groupId = "io.swagger" ;
@@ -184,6 +186,7 @@ public AbstractJavaCodegen() {
184
186
CliOption dateLibrary = new CliOption (DATE_LIBRARY , "Option. Date library to use" );
185
187
Map <String , String > dateOptions = new HashMap <String , String >();
186
188
dateOptions .put ("java8" , "Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets \" " + JAVA8_MODE + "\" to true" );
189
+ dateOptions .put ("java11" , "Java 11 native JSR384 (preferred for jdk 11+) - note: this also sets \" " + JAVA11_MODE + "\" to true" );
187
190
dateOptions .put ("threetenbp" , "Backport of JSR310 (preferred for jdk < 1.8)" );
188
191
dateOptions .put ("java8-localdatetime" , "Java 8 using LocalDateTime (for legacy app only)" );
189
192
dateOptions .put ("java8-instant" , "Java 8 using Instant" );
@@ -199,6 +202,13 @@ public AbstractJavaCodegen() {
199
202
java8Mode .setEnum (java8ModeOptions );
200
203
cliOptions .add (java8Mode );
201
204
205
+ CliOption java11Mode = new CliOption (JAVA11_MODE , "Option. Use Java11 classes instead of third party equivalents" );
206
+ Map <String , String > java11ModeOptions = new HashMap <String , String >();
207
+ java11ModeOptions .put ("true" , "Use Java 11 classes" );
208
+ java11ModeOptions .put ("false" , "Various third party libraries as needed" );
209
+ java11Mode .setEnum (java11ModeOptions );
210
+ cliOptions .add (java11Mode );
211
+
202
212
cliOptions .add (CliOption .newBoolean (DISABLE_HTML_ESCAPING , "Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields)" ));
203
213
cliOptions .add (CliOption .newBoolean (CHECK_DUPLICATED_MODEL_NAME , "Check if there are duplicated model names (ignoring case)" ));
204
214
cliOptions .add (CliOption .newString (ADDITIONAL_MODEL_TYPE_ANNOTATIONS , "Additional annotations for model type(class level annotations)" ));
@@ -453,12 +463,10 @@ public void processOpts() {
453
463
// used later in recursive import in postProcessingModels
454
464
importMapping .put ("com.fasterxml.jackson.annotation.JsonProperty" , "com.fasterxml.jackson.annotation.JsonCreator" );
455
465
456
- if (additionalProperties .containsKey (JAVA8_MODE )) {
457
- setJava8Mode (Boolean .parseBoolean (additionalProperties .get (JAVA8_MODE ).toString ()));
458
- if ( java8Mode ) {
459
- additionalProperties .put ("java8" , true );
460
- }
461
- }
466
+ setJava8Mode (Boolean .parseBoolean (String .valueOf (additionalProperties .get (JAVA8_MODE ))));
467
+ additionalProperties .put (JAVA8_MODE , java8Mode );
468
+ setJava11Mode (Boolean .parseBoolean (String .valueOf (additionalProperties .get (JAVA11_MODE ))));
469
+ additionalProperties .put (JAVA11_MODE , java11Mode );
462
470
463
471
if (additionalProperties .containsKey (SUPPORT_ASYNC )) {
464
472
setSupportAsync (Boolean .parseBoolean (additionalProperties .get (SUPPORT_ASYNC ).toString ()));
@@ -1464,6 +1472,10 @@ public void setJava8Mode(boolean enabled) {
1464
1472
this .java8Mode = enabled ;
1465
1473
}
1466
1474
1475
+ public void setJava11Mode (boolean java11Mode ) {
1476
+ this .java11Mode = java11Mode ;
1477
+ }
1478
+
1467
1479
public void setDisableHtmlEscaping (boolean disabled ) {
1468
1480
this .disableHtmlEscaping = disabled ;
1469
1481
}
0 commit comments