From ec8ca20deccb2d9c1928f64555460d2cbf0d0f1a Mon Sep 17 00:00:00 2001 From: Christopher Molin <28791817+Chrimle@users.noreply.github.com> Date: Wed, 12 Nov 2025 08:33:28 +0100 Subject: [PATCH] [Java] Support Deprecation of Generated `enum`-classes (#22312) * [Java] Annotate Deprecated `enum`-classes with `@Deprecated` * Update Generated 'samples'-files Signed-off-by: Chrimle <28791817+Chrimle@users.noreply.github.com> * Update `modelEnum.mustache` According to Review Comment Signed-off-by: Chrimle <28791817+Chrimle@users.noreply.github.com> * Update Generated 'sample'-files Signed-off-by: Chrimle <28791817+Chrimle@users.noreply.github.com> * Update Java Native `modelEnum.mustache` File Signed-off-by: Chrimle <28791817+Chrimle@users.noreply.github.com> * Update Java JaxRS `modelEnum.mustache` File Signed-off-by: Chrimle <28791817+Chrimle@users.noreply.github.com> * Update Java Okhttp-gson `modelEnum.mustache` File Signed-off-by: Chrimle <28791817+Chrimle@users.noreply.github.com> * Update Java Micronaut `modelEnum.mustache` File Signed-off-by: Chrimle <28791817+Chrimle@users.noreply.github.com> * Update Java Helidon `modelEnum.mustache` File Signed-off-by: Chrimle <28791817+Chrimle@users.noreply.github.com> --------- Signed-off-by: Chrimle <28791817+Chrimle@users.noreply.github.com> --- .../main/resources/Java/libraries/native/modelEnum.mustache | 3 +++ .../resources/Java/libraries/okhttp-gson/modelEnum.mustache | 3 +++ .../src/main/resources/Java/modelEnum.mustache | 3 +++ .../src/main/resources/JavaJaxRS/modelEnum.mustache | 3 +++ .../java-helidon/server/libraries/mp/modelEnum.mustache | 3 +++ .../resources/java-micronaut/common/model/modelEnum.mustache | 3 +++ 6 files changed, 18 insertions(+) diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/native/modelEnum.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/native/modelEnum.mustache index ca5adc8d3bc1..47c6b4342585 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/native/modelEnum.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/native/modelEnum.mustache @@ -17,6 +17,9 @@ import java.util.Locale; /** * {{description}}{{^description}}Gets or Sets {{{name}}}{{/description}} */ +{{#isDeprecated}} +@Deprecated +{{/isDeprecated}} {{#gson}} @JsonAdapter({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.Adapter.class) {{/gson}} diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/modelEnum.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/modelEnum.mustache index 9bc7bf299833..9a9f392d4544 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/modelEnum.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/modelEnum.mustache @@ -12,6 +12,9 @@ import com.google.gson.stream.JsonWriter; /** * {{description}}{{^description}}Gets or Sets {{{name}}}{{/description}} */ +{{#isDeprecated}} +@Deprecated +{{/isDeprecated}} @JsonAdapter({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.Adapter.class) {{>additionalEnumTypeAnnotations}}public enum {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}{{#vendorExtensions.x-implements}}{{#-first}} implements {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}}{{/vendorExtensions.x-implements}} { {{#allowableValues}}{{#enumVars}} diff --git a/modules/openapi-generator/src/main/resources/Java/modelEnum.mustache b/modules/openapi-generator/src/main/resources/Java/modelEnum.mustache index 68fc9e089fad..b34e73c9ba23 100644 --- a/modules/openapi-generator/src/main/resources/Java/modelEnum.mustache +++ b/modules/openapi-generator/src/main/resources/Java/modelEnum.mustache @@ -17,6 +17,9 @@ import java.util.Locale; /** * {{description}}{{^description}}Gets or Sets {{{name}}}{{/description}} */ +{{#isDeprecated}} +@Deprecated +{{/isDeprecated}} {{#gson}} @JsonAdapter({{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}.Adapter.class) {{/gson}} diff --git a/modules/openapi-generator/src/main/resources/JavaJaxRS/modelEnum.mustache b/modules/openapi-generator/src/main/resources/JavaJaxRS/modelEnum.mustache index e2b1cbaedb14..2e497f21d477 100644 --- a/modules/openapi-generator/src/main/resources/JavaJaxRS/modelEnum.mustache +++ b/modules/openapi-generator/src/main/resources/JavaJaxRS/modelEnum.mustache @@ -6,6 +6,9 @@ import com.fasterxml.jackson.annotation.JsonValue; /** * {{description}}{{^description}}Gets or Sets {{{name}}}{{/description}} */ +{{#isDeprecated}} +@Deprecated +{{/isDeprecated}} {{>additionalEnumTypeAnnotations}}public enum {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} { {{#gson}} {{#allowableValues}}{{#enumVars}} diff --git a/modules/openapi-generator/src/main/resources/java-helidon/server/libraries/mp/modelEnum.mustache b/modules/openapi-generator/src/main/resources/java-helidon/server/libraries/mp/modelEnum.mustache index 1eb5bb263c79..dc66e6ccc74b 100644 --- a/modules/openapi-generator/src/main/resources/java-helidon/server/libraries/mp/modelEnum.mustache +++ b/modules/openapi-generator/src/main/resources/java-helidon/server/libraries/mp/modelEnum.mustache @@ -1,6 +1,9 @@ /** * {{description}}{{^description}}Gets or Sets {{{name}}}{{/description}} */ +{{#isDeprecated}} + @Deprecated +{{/isDeprecated}} {{#jsonb}} @JsonbTypeSerializer({{datatypeWithEnum}}.Serializer.class) @JsonbTypeDeserializer({{datatypeWithEnum}}.Deserializer.class) diff --git a/modules/openapi-generator/src/main/resources/java-micronaut/common/model/modelEnum.mustache b/modules/openapi-generator/src/main/resources/java-micronaut/common/model/modelEnum.mustache index bb48e8062891..e81b044e97d7 100644 --- a/modules/openapi-generator/src/main/resources/java-micronaut/common/model/modelEnum.mustache +++ b/modules/openapi-generator/src/main/resources/java-micronaut/common/model/modelEnum.mustache @@ -6,6 +6,9 @@ import com.fasterxml.jackson.annotation.JsonValue; /** * {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{description}}{{/description}} */ +{{#isDeprecated}} +@Deprecated +{{/isDeprecated}} {{#additionalEnumTypeAnnotations}} {{{.}}} {{/additionalEnumTypeAnnotations}}{{#useBeanValidation}}@Introspected