-
Notifications
You must be signed in to change notification settings - Fork 245
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(java): add a Builder<T> interface implemented by all builders #1654
Conversation
The common super-interface for all `Builder` classes creates a nice and clean extension point that can be leveraged to improve the experience of developers using Kotlin extensions, or doing fancy AOP things. The new interface does not change the current `Builder` layout, merely adding the new super-interface to pre-declare an already-existing method. Fixes #1652
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Added 'do-not-merge' in case you want someone more familiar to look at this.
Would prefer if you can be more clear about - "improve the experience of
developers using Kotlin extensions, or doing fancy AOP things." - in the commit message.
I got the answer to this from the attached issue, but summarizing this in the commit message would be better.
packages/@jsii/java-runtime/project/src/main/java/software/amazon/jsii/Builder.java
Outdated
Show resolved
Hide resolved
…zon/jsii/Builder.java Co-authored-by: Niranjan Jayakar <nija@amazon.com>
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
Thank you for contributing! ❤️ I will now look into making sure the PR is up-to-date, then proceed to try and merge it! |
Merging (with squash)... |
AWS CodeBuild CI Report
Powered by github-codebuild-logs, available on the AWS Serverless Application Repository |
Merging (with squash)... |
Commit Message
feat(java): add a Builder interface implemented by all builders (#1654)
The common super-interface for all
Builder
classes creates a nice andclean extension point that can be leveraged to improve the experience of
developers using Kotlin extensions, or doing fancy AOP things. For example,
this enables introduction of Kotlin extensions to improve/simplify the syntax
needed to initialize types that provide a
Builder
further from what theJava implementation natively allows (see the related issue for more info).
The new interface does not change the current
Builder
layout, merelyadding the new super-interface to pre-declare an already-existing method.
Fixes #1652
End Commit Message
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.