Skip to content

[BUG][JAVA] Generated Enum Classes are not Annotated @Deprecated #22311

@Chrimle

Description

@Chrimle

Bug Report Checklist

  • Have you provided a full/minimal spec to reproduce the issue?
  • Have you validated the input using an OpenAPI validator?
  • Have you tested with the latest master to confirm the issue still exists?
  • Have you searched for related issues/PRs?
  • What's the actual output vs expected output?
  • [Optional] Sponsorship to speed up the bug fix or feature request (example)
Description

Enum classes are not annotated @Deprecated. They also lack the @deprecated in JavaDocs.

openapi-generator version

All versions tested with.
7.11.0 <-> 7.17.0

OpenAPI declaration file content or url

example:

DeprecatedExampleEnum:
  type: string
  deprecated: true
  description: Example of a deprecated Enum
  enum:
    - ENUM1
    - ENUM2
    - ENUM3
Generation Details

Regardless of configuration/configOptions.

Steps to reproduce

Generate models, using the enum schema above.

Expected:

/**
 * Example of a deprecated Enum
 *
 * @deprecated
 */
@Deprecated
public enum DeprecatedExampleEnum {
  ENUM1("ENUM1"),
  ENUM2("ENUM2"),
  ENUM3("ENUM3");
  
  // ...
}

Actual:

/**
 * Example of a deprecated Enum
 */
public enum DeprecatedExampleEnum {
  
  ENUM1("ENUM1"),
  
  ENUM2("ENUM2"),
  
  ENUM3("ENUM3");
  
  // ...
}
Related issues/PRs

PR #19673
Not sure why it was abandoned.

Suggest a fix

Will update the modelEnum.mustache.
Here is a working example.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions