diff --git a/docs/generators/groovy.md b/docs/generators/groovy.md
index 69a10b11a2a..1c83fce3874 100644
--- a/docs/generators/groovy.md
+++ b/docs/generators/groovy.md
@@ -135,6 +135,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/java-camel.md b/docs/generators/java-camel.md
index b8333667cc2..a46b87970da 100644
--- a/docs/generators/java-camel.md
+++ b/docs/generators/java-camel.md
@@ -174,6 +174,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/java-helidon-client.md b/docs/generators/java-helidon-client.md
index 5b7b6253f71..484df2e5115 100644
--- a/docs/generators/java-helidon-client.md
+++ b/docs/generators/java-helidon-client.md
@@ -128,6 +128,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/java-helidon-server.md b/docs/generators/java-helidon-server.md
index ef648ea3be9..3c2e448a913 100644
--- a/docs/generators/java-helidon-server.md
+++ b/docs/generators/java-helidon-server.md
@@ -130,6 +130,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/java-inflector.md b/docs/generators/java-inflector.md
index d3536d0b540..93bcc5e03d4 100644
--- a/docs/generators/java-inflector.md
+++ b/docs/generators/java-inflector.md
@@ -132,6 +132,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/java-micronaut-client.md b/docs/generators/java-micronaut-client.md
index 96bc9f58b32..c83bce61bad 100644
--- a/docs/generators/java-micronaut-client.md
+++ b/docs/generators/java-micronaut-client.md
@@ -153,6 +153,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/java-micronaut-server.md b/docs/generators/java-micronaut-server.md
index bbbb99df9f0..fce177a4697 100644
--- a/docs/generators/java-micronaut-server.md
+++ b/docs/generators/java-micronaut-server.md
@@ -153,6 +153,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/java-msf4j.md b/docs/generators/java-msf4j.md
index 6e50953454b..624040df9be 100644
--- a/docs/generators/java-msf4j.md
+++ b/docs/generators/java-msf4j.md
@@ -138,6 +138,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/java-pkmst.md b/docs/generators/java-pkmst.md
index 28512a4a8ac..20345fb4a23 100644
--- a/docs/generators/java-pkmst.md
+++ b/docs/generators/java-pkmst.md
@@ -139,6 +139,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/java-play-framework.md b/docs/generators/java-play-framework.md
index ad76ca0124c..c83e4827e31 100644
--- a/docs/generators/java-play-framework.md
+++ b/docs/generators/java-play-framework.md
@@ -142,6 +142,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/java-undertow-server.md b/docs/generators/java-undertow-server.md
index 7cf811514c8..8556f93afc7 100644
--- a/docs/generators/java-undertow-server.md
+++ b/docs/generators/java-undertow-server.md
@@ -132,6 +132,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/java-vertx-web.md b/docs/generators/java-vertx-web.md
index 0f73519d40c..aa29fbbc514 100644
--- a/docs/generators/java-vertx-web.md
+++ b/docs/generators/java-vertx-web.md
@@ -132,6 +132,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/java-vertx.md b/docs/generators/java-vertx.md
index 8cf7c144e77..08672146b4c 100644
--- a/docs/generators/java-vertx.md
+++ b/docs/generators/java-vertx.md
@@ -135,6 +135,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/java-wiremock.md b/docs/generators/java-wiremock.md
index 89950b45791..26cf0167653 100644
--- a/docs/generators/java-wiremock.md
+++ b/docs/generators/java-wiremock.md
@@ -132,6 +132,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/java.md b/docs/generators/java.md
index 57727bbfd74..e08e5d2a6f6 100644
--- a/docs/generators/java.md
+++ b/docs/generators/java.md
@@ -164,6 +164,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/jaxrs-cxf-cdi.md b/docs/generators/jaxrs-cxf-cdi.md
index c16e577dfdb..82b1b863e73 100644
--- a/docs/generators/jaxrs-cxf-cdi.md
+++ b/docs/generators/jaxrs-cxf-cdi.md
@@ -146,6 +146,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/jaxrs-cxf-client.md b/docs/generators/jaxrs-cxf-client.md
index 82107c502a3..203688c5302 100644
--- a/docs/generators/jaxrs-cxf-client.md
+++ b/docs/generators/jaxrs-cxf-client.md
@@ -137,6 +137,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/jaxrs-cxf-extended.md b/docs/generators/jaxrs-cxf-extended.md
index 8b29e33075e..08a0fe67750 100644
--- a/docs/generators/jaxrs-cxf-extended.md
+++ b/docs/generators/jaxrs-cxf-extended.md
@@ -160,6 +160,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/jaxrs-cxf.md b/docs/generators/jaxrs-cxf.md
index bbd63a7249c..975ba1a0579 100644
--- a/docs/generators/jaxrs-cxf.md
+++ b/docs/generators/jaxrs-cxf.md
@@ -155,6 +155,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/jaxrs-jersey.md b/docs/generators/jaxrs-jersey.md
index c7ff53d1f7e..1565d04f0d4 100644
--- a/docs/generators/jaxrs-jersey.md
+++ b/docs/generators/jaxrs-jersey.md
@@ -138,6 +138,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/jaxrs-resteasy-eap.md b/docs/generators/jaxrs-resteasy-eap.md
index 1c0d4172722..ce8e83b6518 100644
--- a/docs/generators/jaxrs-resteasy-eap.md
+++ b/docs/generators/jaxrs-resteasy-eap.md
@@ -139,6 +139,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/jaxrs-resteasy.md b/docs/generators/jaxrs-resteasy.md
index 7ed0e367622..b7613483d24 100644
--- a/docs/generators/jaxrs-resteasy.md
+++ b/docs/generators/jaxrs-resteasy.md
@@ -138,6 +138,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/jaxrs-spec.md b/docs/generators/jaxrs-spec.md
index ffcd987fcb8..6572bfa7247 100644
--- a/docs/generators/jaxrs-spec.md
+++ b/docs/generators/jaxrs-spec.md
@@ -146,6 +146,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/docs/generators/spring.md b/docs/generators/spring.md
index 500a265a10a..9e426fb0f04 100644
--- a/docs/generators/spring.md
+++ b/docs/generators/spring.md
@@ -167,6 +167,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
## RESERVED WORDS
+- _
- abstract
- apiclient
- apiexception
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java
index 859fc38e54b..76f7bd48b15 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java
@@ -192,7 +192,7 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
"ApiClient", "ApiException", "ApiResponse", "Configuration", "StringUtil",
// language reserved words
- "abstract", "continue", "for", "new", "switch", "assert",
+ "_", "abstract", "continue", "for", "new", "switch", "assert",
"default", "if", "package", "synchronized", "boolean", "do", "goto", "private",
"this", "break", "double", "implements", "protected", "throw", "byte", "else",
"import", "public", "throws", "case", "enum", "instanceof", "return", "transient",
@@ -1908,10 +1908,9 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code
// string
String var = value.replaceAll("\\W+", "_").toUpperCase(Locale.ROOT);
if (var.matches("\\d.*")) {
- return "_" + var;
- } else {
- return var;
+ var = "_" + var;
}
+ return this.toVarName(var);
}
@Override
diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java
index 84767088622..95a9f9f6b69 100644
--- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java
+++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/AbstractJavaCodegenTest.java
@@ -56,6 +56,7 @@ public class AbstractJavaCodegenTest {
@Test
public void toEnumVarNameShouldNotResultInSingleUnderscore() throws Exception {
Assert.assertEquals(fakeJavaCodegen.toEnumVarName(" ", "String"), "SPACE");
+ Assert.assertEquals(fakeJavaCodegen.toEnumVarName("==", "String"), "u");
}
@Test