@@ -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