Skip to content

Commit 945f21c

Browse files
committed
feat(kotlin): add Jackson 3 infrastructure to AbstractKotlinCodegen
1 parent 80f2d7f commit 945f21c

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co
5656

5757
public static final String JAVAX_PACKAGE = "javaxPackage";
5858
public static final String USE_JAKARTA_EE = "useJakartaEe";
59+
public static final String USE_JACKSON_3 = "useJackson3";
60+
public static final String JACKSON2_PACKAGE = "com.fasterxml.jackson";
61+
public static final String JACKSON3_PACKAGE = "tools.jackson";
62+
public static final String JACKSON_PACKAGE = "jacksonPackage";
5963
public static final String SCHEMA_IMPLEMENTS = "schemaImplements";
6064
public static final String SCHEMA_IMPLEMENTS_FIELDS = "schemaImplementsFields";
6165
public static final String X_KOTLIN_IMPLEMENTS_SKIP = "xKotlinImplementsSkip";
@@ -80,6 +84,7 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co
8084
protected boolean serializableModel = false;
8185

8286
@Setter protected boolean useJakartaEe = false;
87+
@Getter @Setter protected boolean useJackson3 = false;
8388

8489
@Setter protected boolean nonPublicApi = false;
8590

@@ -569,6 +574,17 @@ public void processOpts() {
569574
} else {
570575
applyJavaxPackage();
571576
}
577+
578+
if (additionalProperties.containsKey(USE_JACKSON_3)) {
579+
setUseJackson3(Boolean.parseBoolean(additionalProperties.get(USE_JACKSON_3).toString()));
580+
}
581+
additionalProperties.put(USE_JACKSON_3, useJackson3);
582+
583+
if (useJackson3) {
584+
applyJackson3Package();
585+
} else {
586+
applyJackson2Package();
587+
}
572588
}
573589

574590
protected boolean isModelMutable() {
@@ -844,6 +860,14 @@ protected void applyJakartaPackage() {
844860
writePropertyBack(JAVAX_PACKAGE, "jakarta");
845861
}
846862

863+
protected void applyJackson2Package() {
864+
writePropertyBack(JACKSON_PACKAGE, JACKSON2_PACKAGE);
865+
}
866+
867+
protected void applyJackson3Package() {
868+
writePropertyBack(JACKSON_PACKAGE, JACKSON3_PACKAGE);
869+
}
870+
847871
@Override
848872
protected boolean isReservedWord(String word) {
849873
// We want case-sensitive escaping, to avoid unnecessary backtick-escaping.

0 commit comments

Comments
 (0)