Add PreferJavaUtilObjectsRequireNonNullElse recipe for Java 11 #301
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What's changed?
This adds
PreferJavaUtilObjectsRequireNonNullElse
, aChangeMethodName
/ChangeMethodTargetToStatic
combination to convert Guava'sMoreObjects.firstNonNull
to the Java 9 equivalent ofObjects.requireNonNullElse
.What's your motivation?
I'm aiming to extend the set of Guava calls that are replaced by direct equivalents, and get that included in a bulk recipe.
Anything in particular you'd like reviewers to focus on?
This method only shows up in Java 9. I've taken the approach of adding a new
NoGuavaJava11
recipe, in the style of theUpgradeToJavaX
recipes, so this doesn't break Java 8 projects, or require users to nominate the individual recipe directly.The method is generic; I found that it didn't match with
"firstNonNull(Object, Object)"
, so I'm using".."
.Anyone you would like to review specifically?
Have you considered any alternatives or workarounds?
As I need this recipe, my alternative is to keep it in a local ruleset.
Any additional context
Checklist
bothpositiveand negativecases./gradlew licenseFormat