Created by: bjgill
PR checklist
-
Read the contribution guidelines. -
Ran the shell script under ./bin/
to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
,./bin/security/{LANG}-petstore.sh
and./bin/openapi3/security/{LANG}-petstore.sh
if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\
. -
Filed the PR against the correct branch: master
,. Default:3.4.x
,4.0.x
master
. -
Copied the technical committee to review the pull request if your PR is targeting a particular programming language. @frol @farcaller - this is not primarily targeting Rust, but does make some changes to the Rust-server generator.
Description of the PR
I'm now revisiting openapi-generator with a bit more Java expertise than I had a few months ago. There are a few things in the Rust generator that seem worthy of refactoring.
Also, I've recently discovered Objects.equals
and Objects.hash
- see https://docs.oracle.com/javase/7/docs/api/java/util/Objects.html. These helpers, introduced in Java 7, vastly reduce the amount of boilerplate required to implement the equals
and hashcode
methods. If this PR gets accepted, I'll have a go at giving the same treatment to a bunch of other classes with similar/worse quantities of boilerplate.