Created by: bflaton
Rationale: IDEs like pycharm don't render the docstrings from the generated code well because of the Endpoint indirection that currently exists in the code. The proposed change put the actual functions on the api, which enables the IDE to both give parameter hints as well as render proper documentation.
Endpoints are still accessible in generated code, mainly to satisfy some test cases. Maybe a cleaner way to go about testing settings on endpoints would be to inject something like an Endpoint factory into the api classes, which test cases can use to assert stuff. But in order to make the PR as small as possible, I left that change out.
The only changes that I needed to make to the test cases was to still have them refer the endpoints, since their old names are now used by the newly introduced functions.
PR checklist
-
Read the contribution guidelines. -
Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community. -
Run the following to build the project and update samples: ./mvnw clean package ./bin/generate-samples.sh ./bin/utils/export_docs_generators.sh
./bin/generate-samples.sh bin/configs/java*
. For Windows users, please run the script in Git BASH. -
File the PR against the correct branch: master
(5.3.0),6.0.x
-
If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.