Skip to content

Commit cca7e4d

Browse files
Add equals and hashcode to singleRequestParameter static class
1 parent 333f1b3 commit cca7e4d

File tree

8 files changed

+364
-39
lines changed

8 files changed

+364
-39
lines changed

modules/openapi-generator/src/main/resources/Java/libraries/restclient/api.mustache

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import java.util.HashMap;
99
import java.util.List;
1010
import java.util.Locale;
1111
import java.util.Map;
12+
import java.util.Objects;
13+
import java.util.Arrays;
1214
import java.util.stream.Collectors;
1315

1416
{{#useBeanValidation}}
@@ -89,6 +91,34 @@ public class {{classname}} {
8991
}
9092

9193
{{/allParams}}
94+
@Override
95+
public boolean equals(Object o) {
96+
{{#useReflectionEqualsHashCode}}
97+
return EqualsBuilder.reflectionEquals(this, o, false, null, true);
98+
{{/useReflectionEqualsHashCode}}
99+
{{^useReflectionEqualsHashCode}}
100+
if (this == o) {
101+
return true;
102+
}
103+
if (o == null || getClass() != o.getClass()) {
104+
return false;
105+
}{{#hasParams}}
106+
{{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request request = ({{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request) o;
107+
return {{#allParams}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{paramName}}, request.{{paramName}}()){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{paramName}}, request.{{paramName}}()){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
108+
{{/-last}}{{/allParams}};{{/hasParams}}{{^hasParams}}
109+
return true;{{/hasParams}}
110+
{{/useReflectionEqualsHashCode}}
111+
}
112+
113+
@Override
114+
public int hashCode() {
115+
{{#useReflectionEqualsHashCode}}
116+
return HashCodeBuilder.reflectionHashCode(this);
117+
{{/useReflectionEqualsHashCode}}
118+
{{^useReflectionEqualsHashCode}}
119+
return Objects.hash({{#allParams}}{{#vendorExtensions.x-is-jackson-optional-nullable}}hashCodeNullable({{paramName}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{^isByteArray}}{{paramName}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{paramName}}){{/isByteArray}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}}, {{/-last}}{{/allParams}});
120+
{{/useReflectionEqualsHashCode}}
121+
}
92122
}
93123
{{/staticRequest}}
94124

modules/openapi-generator/src/main/resources/Java/libraries/webclient/api.mustache

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import java.util.HashMap;
99
import java.util.List;
1010
import java.util.Locale;
1111
import java.util.Map;
12+
import java.util.Objects;
13+
import java.util.Arrays;
1214
import java.util.stream.Collectors;
1315

1416
{{#useBeanValidation}}
@@ -83,6 +85,34 @@ public class {{classname}} {
8385
}
8486

8587
{{/allParams}}
88+
@Override
89+
public boolean equals(Object o) {
90+
{{#useReflectionEqualsHashCode}}
91+
return EqualsBuilder.reflectionEquals(this, o, false, null, true);
92+
{{/useReflectionEqualsHashCode}}
93+
{{^useReflectionEqualsHashCode}}
94+
if (this == o) {
95+
return true;
96+
}
97+
if (o == null || getClass() != o.getClass()) {
98+
return false;
99+
}{{#hasParams}}
100+
{{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request request = ({{#lambda.titlecase}}{{operationId}}{{/lambda.titlecase}}Request) o;
101+
return {{#allParams}}{{#vendorExtensions.x-is-jackson-optional-nullable}}equalsNullable(this.{{paramName}}, request.{{paramName}}()){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{#isByteArray}}Arrays{{/isByteArray}}{{^isByteArray}}Objects{{/isByteArray}}.equals(this.{{paramName}}, request.{{paramName}}()){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}} &&
102+
{{/-last}}{{/allParams}};{{/hasParams}}{{^hasParams}}
103+
return true;{{/hasParams}}
104+
{{/useReflectionEqualsHashCode}}
105+
}
106+
107+
@Override
108+
public int hashCode() {
109+
{{#useReflectionEqualsHashCode}}
110+
return HashCodeBuilder.reflectionHashCode(this);
111+
{{/useReflectionEqualsHashCode}}
112+
{{^useReflectionEqualsHashCode}}
113+
return Objects.hash({{#allParams}}{{#vendorExtensions.x-is-jackson-optional-nullable}}hashCodeNullable({{paramName}}){{/vendorExtensions.x-is-jackson-optional-nullable}}{{^vendorExtensions.x-is-jackson-optional-nullable}}{{^isByteArray}}{{paramName}}{{/isByteArray}}{{#isByteArray}}Arrays.hashCode({{paramName}}){{/isByteArray}}{{/vendorExtensions.x-is-jackson-optional-nullable}}{{^-last}}, {{/-last}}{{/allParams}});
114+
{{/useReflectionEqualsHashCode}}
115+
}
86116
}
87117

88118
/**

samples/client/petstore/java/restclient-useSingleRequestParameter/src/main/java/org/openapitools/client/api/FakeApi.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import java.util.List;
2323
import java.util.Locale;
2424
import java.util.Map;
25+
import java.util.Objects;
26+
import java.util.Arrays;
2527
import java.util.stream.Collectors;
2628

2729
import org.springframework.beans.factory.annotation.Autowired;

samples/client/petstore/java/restclient-useSingleRequestParameter/src/main/java/org/openapitools/client/api/PetApi.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
import java.util.List;
1212
import java.util.Locale;
1313
import java.util.Map;
14+
import java.util.Objects;
15+
import java.util.Arrays;
1416
import java.util.stream.Collectors;
1517

1618
import org.springframework.beans.factory.annotation.Autowired;

samples/client/petstore/java/restclient-useSingleRequestParameter/src/main/java/org/openapitools/client/api/UserApi.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import java.util.List;
1010
import java.util.Locale;
1111
import java.util.Map;
12+
import java.util.Objects;
13+
import java.util.Arrays;
1214
import java.util.stream.Collectors;
1315

1416
import org.springframework.beans.factory.annotation.Autowired;

0 commit comments

Comments
 (0)