Skip to content

Commit c9252e8

Browse files
authored
Merge pull request #9151 from stijnkoopal/java8-instant
Add support for java.time.Instant for java generators
2 parents 680b32f + 34a0893 commit c9252e8

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/AbstractJavaCodegen.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ public AbstractJavaCodegen() {
9898
modelDocTemplateFiles.put("model_doc.mustache", ".md");
9999
apiDocTemplateFiles.put("api_doc.mustache", ".md");
100100

101-
hideGenerationTimestamp = false;
102-
101+
hideGenerationTimestamp = false;
102+
103103
setReservedWordsLowerCase(
104104
Arrays.asList(
105105
// used as internal variables, can collide with parameter names
@@ -167,6 +167,7 @@ public AbstractJavaCodegen() {
167167
dateOptions.put("java8", "Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets \"" + JAVA8_MODE + "\" to true");
168168
dateOptions.put("threetenbp", "Backport of JSR310 (preferred for jdk < 1.8)");
169169
dateOptions.put("java8-localdatetime", "Java 8 using LocalDateTime (for legacy app only)");
170+
dateOptions.put("java8-instant", "Java 8 using Instant");
170171
dateOptions.put("joda", "Joda (for legacy app only)");
171172
dateOptions.put("legacy", "Legacy java.util.Date (if you really have a good reason not to use threetenbp");
172173
dateLibrary.setEnum(dateOptions);
@@ -440,13 +441,19 @@ public void processOpts() {
440441
} else if (dateLibrary.startsWith("java8")) {
441442
additionalProperties.put("java8", "true");
442443
additionalProperties.put("jsr310", "true");
443-
typeMapping.put("date", "LocalDate");
444-
importMapping.put("LocalDate", "java.time.LocalDate");
445444
if ("java8-localdatetime".equals(dateLibrary)) {
445+
typeMapping.put("date", "LocalDate");
446446
typeMapping.put("DateTime", "LocalDateTime");
447+
importMapping.put("LocalDate", "java.time.LocalDate");
447448
importMapping.put("LocalDateTime", "java.time.LocalDateTime");
449+
} else if ("java8-instant".equals(dateLibrary)) {
450+
typeMapping.put("date", "Instant");
451+
typeMapping.put("DateTime", "Instant");
452+
importMapping.put("Instant", "java.time.Instant");
448453
} else {
454+
typeMapping.put("date", "LocalDate");
449455
typeMapping.put("DateTime", "OffsetDateTime");
456+
importMapping.put("LocalDate", "java.time.LocalDate");
450457
importMapping.put("OffsetDateTime", "java.time.OffsetDateTime");
451458
}
452459
} else if (dateLibrary.equals("legacy")) {

0 commit comments

Comments
 (0)