Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
7ca49b4
Fix hashCode for additionalProperties
jpfinne Mar 8, 2025
4ad76cc
[go-server] Moved helper code from router and updated logger for chi …
jarangutan Mar 9, 2025
b50b13b
Fix hashcode and equals
jpfinne Mar 9, 2025
f0e1a74
Revert Microfile (still using extends HashMap)
jpfinne Mar 9, 2025
abf7319
Fix defaultValue for AdditionalProperties fields when using generateA…
jpfinne Mar 9, 2025
349c850
Fix test for defaultValue for AdditionalProperties fields when using …
jpfinne Mar 9, 2025
21be5f5
fix(typescript-nestjs): handle query params serialization properly (#…
mahmoudzeyada Mar 10, 2025
0e34d39
add tests, option for useVirtualHooks (csharp) (#20837)
wing328 Mar 10, 2025
3c25de0
Fix test for defaultValue for AdditionalProperties fields when using …
jpfinne Mar 10, 2025
d5dcfa6
Remove unused sample
jpfinne Mar 11, 2025
579cd8d
Fix test for AdditionalProperties
jpfinne Mar 11, 2025
01a7e95
Default is still new HashMap<>()
jpfinne Mar 11, 2025
b30db6b
Fix missing file in test
jpfinne Mar 11, 2025
c5ad4d2
Fix wrong windows path
jpfinne Mar 11, 2025
95b32fd
Files includes FakeApiController
jpfinne Mar 11, 2025
b317d38
Files includes FakeApiController
jpfinne Mar 11, 2025
523a992
Remove custom batch
jpfinne Mar 11, 2025
95f2272
Remove .git
jpfinne Mar 11, 2025
8ead4b6
[typescript-angular] fix: correctly serialize query params objects (#…
daniel-sc Mar 12, 2025
7d9e1ec
Bump feign version to 13.5 from 10.12. (#20849)
JoshKeighley20 Mar 12, 2025
7f40ce0
Use interfaces for Polly retry policies (#20821)
jacobilsoe Mar 12, 2025
e40f9e3
update C# samples
wing328 Mar 12, 2025
3ab495a
Fix operationId mapping (#20846)
wing328 Mar 12, 2025
5c51ee4
[Rust Server] Bump up env_logger to 0.11 (#20865)
pgoodjohn Mar 13, 2025
a3fb8f5
Bump dorny/test-reporter from 1 to 2 (#20862)
dependabot[bot] Mar 13, 2025
1c13655
Bump @babel/helpers from 7.20.13 to 7.26.10 in /website (#20867)
dependabot[bot] Mar 13, 2025
b1f572e
[go-server] move errMsg helpers to helpers file (#20876)
jarangutan Mar 15, 2025
89f2fac
fix indentation
jpfinne Mar 16, 2025
a5ff8a0
Add handling of hashCode for additionalProperties
jpfinne Mar 16, 2025
984a6f9
Fix hashCode for additionalProperties
jpfinne Mar 8, 2025
e9e3411
Fix hashcode and equals
jpfinne Mar 9, 2025
6f2b450
Revert Microfile (still using extends HashMap)
jpfinne Mar 9, 2025
6e3b594
Fix defaultValue for AdditionalProperties fields when using generateA…
jpfinne Mar 9, 2025
eb650e0
Fix test for defaultValue for AdditionalProperties fields when using …
jpfinne Mar 9, 2025
fc023fe
Fix test for defaultValue for AdditionalProperties fields when using …
jpfinne Mar 10, 2025
e6abba4
Remove unused sample
jpfinne Mar 11, 2025
cd542a5
Fix test for AdditionalProperties
jpfinne Mar 11, 2025
8ee8978
Default is still new HashMap<>()
jpfinne Mar 11, 2025
44e1999
Fix missing file in test
jpfinne Mar 11, 2025
41e27a8
Fix wrong windows path
jpfinne Mar 11, 2025
5fcb5ab
Files includes FakeApiController
jpfinne Mar 11, 2025
bc3ad42
Files includes FakeApiController
jpfinne Mar 11, 2025
05d8e52
Remove custom batch
jpfinne Mar 11, 2025
47cd457
Remove .git
jpfinne Mar 11, 2025
f6e9245
fix indentation
jpfinne Mar 16, 2025
4c660ac
Add handling of hashCode for additionalProperties
jpfinne Mar 16, 2025
c36f864
fix hashCode for okhttp-gson
jpfinne Mar 16, 2025
1c9d50e
Merge remote-tracking branch 'origin/fixHashCodeForJavaSingleAddition…
jpfinne Mar 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/openapi-generator-test-results.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
report:
runs-on: ubuntu-latest
steps:
- uses: dorny/test-reporter@v1
- uses: dorny/test-reporter@v2
with:
artifact: surefire-test-results
name: JUnit Test results
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/samples-dotnet8-client.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ jobs:
matrix:
sample:
- samples/client/petstore/csharp/restsharp/net8/ParameterMappings/
- samples/client/petstore/csharp/restsharp/net8/useVirtualForHooks/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.3.0
Expand Down
10 changes: 10 additions & 0 deletions bin/configs/csharp-restsharp-useVirtualForHooks.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# for .net standard
generatorName: csharp
library: restsharp
outputDir: samples/client/petstore/csharp/restsharp/net8/useVirtualForHooks
inputSpec: modules/openapi-generator/src/test/resources/3_0/petstore-addpet-only.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
additionalProperties:
packageGuid: '{D0A67E81-4061-48EB-B4B8-C73BDF8B2D95}'
targetFramework: net8.0
useVirtualForHooks: true
12 changes: 12 additions & 0 deletions bin/configs/java-resttemplate-generateAliasAsModel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
generatorName: java
outputDir: samples/client/petstore/java/resttemplate-generateAliasAsModel
library: resttemplate
inputSpec: modules/openapi-generator/src/test/resources/3_0/java/generateAliasAsModel.yaml
templateDir: modules/openapi-generator/src/main/resources/Java
generateAliasAsModel: true
additionalProperties:
java8: true
useJakartaEe: true
artifactId: petstore-resttemplate-generateAliasAsModel
hideGenerationTimestamp: "true"
generateConstructorWithAllArgs: true
12 changes: 12 additions & 0 deletions bin/configs/spring-boot-generateAliasAsModel.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
generatorName: spring
outputDir: samples/server/petstore/springboot-generateAliasAsModel
library: spring-boot
inputSpec: modules/openapi-generator/src/test/resources/3_0/java/generateAliasAsModel.yaml
templateDir: modules/openapi-generator/src/main/resources/JavaSpring
generateAliasAsModel: "true"
additionalProperties:
documentationProvider: springfox
useSwaggerUI: false
java8: true
artifactId: spring-boot-generateAliasAsModel
hideGenerationTimestamp: "true"
1 change: 1 addition & 0 deletions docs/generators/csharp.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|useIntForTimeout|Use int for Timeout (fall back to v7.9.0 templates). This option (for restsharp only) will be deprecated so please migrated to TimeSpan instead.| |false|
|useOneOfDiscriminatorLookup|Use the discriminator's mapping in oneOf to speed up the model lookup. IMPORTANT: Validation (e.g. one and only one match in oneOf's schemas) will be skipped.| |false|
|useSourceGeneration|Use source generation where available (only `generichost` library supports this option).| |false|
|useVirtualForHooks|Generate code that exposes public virtual hooks on ApiClient to customize low-level HTTP requests (only `restsharp`. `httpclient` libraries support this option).| |false|
|validatable|Generates self-validatable models.| |true|
|zeroBasedEnums|Enumerations with string values will start from 0 when true, 1 when false. If not set, enumerations with string values will start from 0 if the first value is 'unknown', case insensitive.| |null|

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ public static enum ENUM_PROPERTY_NAMING_TYPE {camelCase, PascalCase, snake_case,
public static final String SUPPORTS_ASYNC_DESC = "Generate code that supports async operations.";

public static final String USE_VIRTUAL_FOR_HOOKS = "useVirtualForHooks";
public static final String USE_VIRTUAL_FOR_HOOKS_DESC = "Generate code that exposes public virtual hooks on ApiClient to customize low-level HTTP requests.";
public static final String USE_VIRTUAL_FOR_HOOKS_DESC = "Generate code that exposes public virtual hooks on ApiClient to customize low-level HTTP requests (only `restsharp`. `httpclient` libraries support this option).";

public static final String EXCLUDE_TESTS = "excludeTests";
public static final String EXCLUDE_TESTS_DESC = "Specifies that no tests are to be generated.";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5657,6 +5657,7 @@ protected boolean isReservedWord(String word) {
*/
protected String getOrGenerateOperationId(Operation operation, String path, String httpMethod) {
String operationId = operation.getOperationId();

if (StringUtils.isBlank(operationId)) {
String tmpPath = path;
tmpPath = tmpPath.replaceAll("\\{", "");
Expand All @@ -5681,6 +5682,10 @@ protected String getOrGenerateOperationId(Operation operation, String path, Stri
LOGGER.warn("Empty operationId found for path: {} {}. Renamed to auto-generated operationId: {}", httpMethod, path, operationId);
}

if (operationIdNameMapping.containsKey(operationId)) {
return operationIdNameMapping.get(operationId);
}

// remove prefix in operationId
if (removeOperationIdPrefix) {
// The prefix is everything before the removeOperationIdPrefixCount occurrence of removeOperationIdPrefixDelimiter
Expand All @@ -5693,13 +5698,8 @@ protected String getOrGenerateOperationId(Operation operation, String path, Stri
operationId = String.join(removeOperationIdPrefixDelimiter, Arrays.copyOfRange(components, component_number, components.length));
}
}
operationId = removeNonNameElementToCamelCase(operationId);

if (operationIdNameMapping.containsKey(operationId)) {
return operationIdNameMapping.get(operationId);
} else {
return toOperationId(operationId);
}
return toOperationId(removeNonNameElementToCamelCase(operationId));
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@

import static org.openapitools.codegen.utils.CamelizeOption.*;
import static org.openapitools.codegen.utils.ModelUtils.getSchemaItems;
import static org.openapitools.codegen.utils.ModelUtils.isGenerateAliasAsModel;
import static org.openapitools.codegen.utils.OnceLogger.once;
import static org.openapitools.codegen.utils.StringUtils.*;

Expand Down Expand Up @@ -1329,6 +1330,11 @@ public String toDefaultValue(CodegenProperty cp, Schema schema) {
return null;
}

if (ModelUtils.isGenerateAliasAsModel() && !cp.dataType.contains("Map<")) {
// Aliased class used as the field name instead of Map<>
return null;
}

return String.format(Locale.ROOT, "new %s<>()",
instantiationTypes().getOrDefault("map", "HashMap"));
} else if (ModelUtils.isIntegerSchema(schema)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,10 @@ public CSharpClientCodegen() {
"Use source generation where available (only `generichost` library supports this option).",
this.getUseSourceGeneration());

addSwitch(CodegenConstants.USE_VIRTUAL_FOR_HOOKS,
CodegenConstants.USE_VIRTUAL_FOR_HOOKS_DESC,
this.useVirtualForHooks);

supportedLibraries.put(GENERICHOST, "HttpClient, Generic Host integration, and System.Text.Json (https://docs.microsoft.com/en-us/dotnet/core/extensions/generic-host)");
supportedLibraries.put(HTTPCLIENT, "HttpClient and Newtonsoft (https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient) "
+ "(Experimental. Subject to breaking changes without notice.)");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ ext {
jackson_databind_nullable_version = "0.2.6"
{{/openApiNullable}}
jakarta_annotation_version = "1.3.5"
feign_version = "10.12"
feign_version = "13.5"
feign_form_version = "3.8.0"
junit_version = "5.7.0"
scribejava_version = "8.0.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ lazy val root = (project in file(".")).
libraryDependencies ++= Seq(
"io.swagger" % "swagger-annotations" % "1.6.11" % "compile",
"com.google.code.findbugs" % "jsr305" % "3.0.2" % "compile",
"io.github.openfeign" % "feign-core" % "10.12" % "compile",
"io.github.openfeign" % "feign-core" % "13.5" % "compile",
{{#jackson}}
"io.github.openfeign" % "feign-jackson" % "10.12" % "compile",
"io.github.openfeign" % "feign-jackson" % "13.5" % "compile",
{{/jackson}}
"io.github.openfeign" % "feign-slf4j" % "10.12" % "compile",
"io.github.openfeign" % "feign-slf4j" % "13.5" % "compile",
"io.github.openfeign.form" % "feign-form" % "3.8.0" % "compile",
"io.github.openfeign" % "feign-okhttp" % "10.12" % "compile",
"io.github.openfeign" % "feign-okhttp" % "13.5" % "compile",
{{#jackson}}
"com.fasterxml.jackson.core" % "jackson-core" % "2.17.1" % "compile",
"com.fasterxml.jackson.core" % "jackson-annotations" % "2.17.1" % "compile",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -265,8 +265,10 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
return {{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
{{/-last}}{{/vars}}{{#additionalPropertiesType}} &&
Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{/additionalPropertiesType}}{{#parent}} &&
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}}
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}{{#additionalPropertiesType}}
{{classname}} {{classVarName}} = ({{classname}}) o;
return Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{#parent}} && super.equals(o){{/parent}};{{/additionalPropertiesType}}{{^additionalPropertiesType}}
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/additionalPropertiesType}}{{/hasVars}}
{{/useReflectionEqualsHashCode}}
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}

Expand All @@ -280,7 +282,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
return HashCodeBuilder.reflectionHashCode(this);
{{/useReflectionEqualsHashCode}}
{{^useReflectionEqualsHashCode}}
return Objects.hash({{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}hashCodeNullable({{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{^isByteArray}}{{name}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{name}}){{/isByteArray}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}{{#additionalPropertiesType}}, additionalProperties{{/additionalPropertiesType}});
return Objects.hash({{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}hashCodeNullable({{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{^isByteArray}}{{name}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{name}}){{/isByteArray}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}{{#additionalPropertiesType}}{{#hasVars}}, {{/hasVars}}{{^hasVars}}{{#parent}}, {{/parent}}{{/hasVars}}additionalProperties{{/additionalPropertiesType}});
{{/useReflectionEqualsHashCode}}
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -285,8 +285,10 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
return {{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
{{/-last}}{{/vars}}{{#additionalPropertiesType}}&&
Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{/additionalPropertiesType}}{{#parent}} &&
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}}
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}{{#additionalPropertiesType}}
{{classname}} {{classVarName}} = ({{classname}}) o;
return Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{#parent}} && super.equals(o){{/parent}};{{/additionalPropertiesType}}{{^additionalPropertiesType}}
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/additionalPropertiesType}}{{/hasVars}}
{{/useReflectionEqualsHashCode}}
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -285,8 +285,10 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
return {{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
{{/-last}}{{/vars}}{{#additionalPropertiesType}}&&
Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{/additionalPropertiesType}}{{#parent}} &&
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}}
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}{{#additionalPropertiesType}}
{{classname}} {{classVarName}} = ({{classname}}) o;
return Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{#parent}} && super.equals(o){{/parent}};{{/additionalPropertiesType}}{{^additionalPropertiesType}}
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/additionalPropertiesType}}{{/hasVars}}
{{/useReflectionEqualsHashCode}}
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -289,8 +289,10 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
return {{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
{{/-last}}{{/vars}}{{#additionalPropertiesType}}&&
Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{/additionalPropertiesType}}{{#parent}} &&
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}}
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}{{#additionalPropertiesType}}
{{classname}} {{classVarName}} = ({{classname}}) o;
return Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{#parent}} && super.equals(o){{/parent}};{{/additionalPropertiesType}}{{^additionalPropertiesType}}
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/additionalPropertiesType}}{{/hasVars}}
{{/useReflectionEqualsHashCode}}
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}

Expand All @@ -304,7 +306,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
return HashCodeBuilder.reflectionHashCode(this);
{{/useReflectionEqualsHashCode}}
{{^useReflectionEqualsHashCode}}
return Objects.hash({{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}hashCodeNullable({{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{^isByteArray}}{{name}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{name}}){{/isByteArray}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}{{#additionalPropertiesType}}, additionalProperties{{/additionalPropertiesType}});
return Objects.hash({{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}hashCodeNullable({{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{^isByteArray}}{{name}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{name}}){{/isByteArray}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}{{#additionalPropertiesType}}{{#hasVars}}, {{/hasVars}}{{^hasVars}}{{#parent}}, {{/parent}}{{/hasVars}}additionalProperties{{/additionalPropertiesType}});
{{/useReflectionEqualsHashCode}}
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,8 +203,10 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
return {{#vars}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{name}}, {{classVarName}}.{{name}}){{^-last}} &&
{{/-last}}{{/vars}}{{#isAdditionalPropertiesTrue}}&&
Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{/isAdditionalPropertiesTrue}}{{#parent}} &&
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/hasVars}}
super.equals(o){{/parent}};{{/hasVars}}{{^hasVars}}{{#additionalPropertiesType}}
{{classname}} {{classVarName}} = ({{classname}}) o;
return Objects.equals(this.additionalProperties, {{classVarName}}.additionalProperties){{#parent}} && super.equals(o){{/parent}};{{/additionalPropertiesType}}{{^additionalPropertiesType}}
return {{#parent}}super.equals(o){{/parent}}{{^parent}}true{{/parent}};{{/additionalPropertiesType}}{{/hasVars}}
{{/useReflectionEqualsHashCode}}
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}

Expand All @@ -218,7 +220,7 @@ public class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{{#vendorExtens
return HashCodeBuilder.reflectionHashCode(this);
{{/useReflectionEqualsHashCode}}
{{^useReflectionEqualsHashCode}}
return Objects.hash({{#vars}}{{^isByteArray}}{{name}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{name}}){{/isByteArray}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}{{#isAdditionalPropertiesTrue}}{{#hasVars}}, {{/hasVars}}{{^hasVars}}{{#parent}}, {{/parent}}{{/hasVars}}additionalProperties{{/isAdditionalPropertiesTrue}});
return Objects.hash({{#vars}}{{#vendorExtensions.x-is-jackson-optional-nullable}}hashCodeNullable({{name}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{^isByteArray}}{{name}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{name}}){{/isByteArray}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}}, {{/-last}}{{/vars}}{{#parent}}{{#hasVars}}, {{/hasVars}}super.hashCode(){{/parent}}{{#additionalPropertiesType}}{{#hasVars}}, {{/hasVars}}{{^hasVars}}{{#parent}}, {{/parent}}{{/hasVars}}additionalProperties{{/additionalPropertiesType}});
{{/useReflectionEqualsHashCode}}
}{{#vendorExtensions.x-jackson-optional-nullable-helpers}}

Expand Down
Loading
Loading