Simplify a call chain
Recipe ID
org.openrewrite.java.SimplifyMethodChainArtifact
org.openrewrite:rewrite-javaSimplify a.b().c() to a.d().
Usage
You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.java.SimplifyMethodChain --recipe-option "methodPatternChain=['java.util.Map keySet()', 'java.util.Set contains(..)']" --recipe-option "newMethodName=containsKey"If the recipe isn’t available locally, install it with:
mod config recipes jar install org.openrewrite:rewrite-java:8.88.0Options
| Name | Type | Description |
|---|---|---|
methodPatternChainrequired | List | A list of method patterns that are called in sequence e.g. ['java.util.Map keySet()', 'java.util.Set contains(..)'] |
newMethodNamerequired | String | The method name that will replace the existing name. The new method name target is assumed to have the same arguments as the last method in the chain. e.g. containsKey |
matchOverrides | Boolean | When enabled, find methods that are overrides of the method pattern. e.g. false |
Data tables
Structured output this recipe can produce.
- Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats