Class ConsecutiveLiteralAppendsRule

java.lang.Object
net.sourceforge.pmd.properties.AbstractPropertySource
net.sourceforge.pmd.lang.rule.AbstractRule
net.sourceforge.pmd.lang.java.rule.AbstractJavaRule
net.sourceforge.pmd.lang.java.rule.AbstractJavaRulechainRule
net.sourceforge.pmd.lang.java.rule.performance.ConsecutiveLiteralAppendsRule
All Implemented Interfaces:
net.sourceforge.pmd.lang.ast.AstVisitor, JavaVisitor, net.sourceforge.pmd.lang.rule.Rule, net.sourceforge.pmd.properties.PropertySource

public class ConsecutiveLiteralAppendsRule extends AbstractJavaRulechainRule
This rule finds concurrent calls to StringBuffer/Builder.append where String literals are used. It would be much better to make these calls using one call to .append.

Example:

 StringBuilder buf = new StringBuilder();
 buf.append("Hello");
 buf.append(" ").append("World");
 

This would be more eloquently put as:

 StringBuilder buf = new StringBuilder();
 buf.append("Hello World");
 

The rule takes one parameter, threshold, which defines the lower limit of consecutive appends before a violation is created. The default is 1.

  • Constructor Details

    • ConsecutiveLiteralAppendsRule

      public ConsecutiveLiteralAppendsRule()
  • Method Details