Class DefineConstantForLiteralCodemod

java.lang.Object
io.codemodder.javaparser.JavaParserChanger
io.codemodder.providers.sonar.SonarPluginJavaParserChanger<com.github.javaparser.ast.expr.StringLiteralExpr,io.codemodder.sonar.model.Issue>
io.codemodder.codemods.DefineConstantForLiteralCodemod
All Implemented Interfaces:
io.codemodder.CodeChanger, io.codemodder.FixOnlyCodeChanger

@Codemod(id="sonar:java/define-constant-for-duplicate-literal-s1192", reviewGuidance=MERGE_AFTER_REVIEW, importance=HIGH, executionPriority=HIGH) public final class DefineConstantForLiteralCodemod extends io.codemodder.providers.sonar.SonarPluginJavaParserChanger<com.github.javaparser.ast.expr.StringLiteralExpr,io.codemodder.sonar.model.Issue>
A codemod for defining a constant for a literal string that is duplicated n times.
  • Field Summary

    Fields inherited from class io.codemodder.providers.sonar.SonarPluginJavaParserChanger

    ruleFinding

    Fields inherited from class io.codemodder.javaparser.JavaParserChanger

    reporter
  • Constructor Summary

    Constructors
    Constructor
    Description
    DefineConstantForLiteralCodemod(io.codemodder.providers.sonar.RuleIssue issues)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    io.codemodder.codetf.DetectorRule
     
    io.codemodder.javaparser.ChangesResult
    onFindingFound(io.codemodder.CodemodInvocationContext context, com.github.javaparser.ast.CompilationUnit cu, com.github.javaparser.ast.expr.StringLiteralExpr stringLiteralExpr, io.codemodder.sonar.model.Issue issue)
     

    Methods inherited from class io.codemodder.providers.sonar.SonarPluginJavaParserChanger

    supports, vendorName, visit

    Methods inherited from class io.codemodder.javaparser.JavaParserChanger

    getDescription, getIncludesExcludesPattern, getIndividualChangeDescription, getReferences, getSummary

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.codemodder.CodeChanger

    shouldRun
  • Constructor Details

    • DefineConstantForLiteralCodemod

      @Inject public DefineConstantForLiteralCodemod(@ProvidedSonarScan(ruleId="java:S1192") io.codemodder.providers.sonar.RuleIssue issues)
  • Method Details

    • onFindingFound

      public io.codemodder.javaparser.ChangesResult onFindingFound(io.codemodder.CodemodInvocationContext context, com.github.javaparser.ast.CompilationUnit cu, com.github.javaparser.ast.expr.StringLiteralExpr stringLiteralExpr, io.codemodder.sonar.model.Issue issue)
      Specified by:
      onFindingFound in class io.codemodder.providers.sonar.SonarPluginJavaParserChanger<com.github.javaparser.ast.expr.StringLiteralExpr,io.codemodder.sonar.model.Issue>
    • detectorRule

      public io.codemodder.codetf.DetectorRule detectorRule()