net.sourceforge.pmd.rules.strings
Class ConsecutiveLiteralAppends

java.lang.Object
  extended bynet.sourceforge.pmd.ast.JavaParserVisitorAdapter
      extended bynet.sourceforge.pmd.AbstractRule
          extended bynet.sourceforge.pmd.rules.strings.ConsecutiveLiteralAppends
All Implemented Interfaces:
JavaParserVisitor, Rule

public class ConsecutiveLiteralAppends
extends AbstractRule

This rule finds concurrent calls to StringBuffer.append where String literals are used It would be much better to make these calls using one call to .append

example:

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

This would be more eloquently put as:

 StringBuffer buf = new StringBuffer();
 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.


Field Summary
 
Fields inherited from class net.sourceforge.pmd.AbstractRule
description, example, externalInfoUrl, include, message, name, priority, properties, ruleSetName, usesDFA, usesTypeResolution
 
Fields inherited from interface net.sourceforge.pmd.Rule
LOWEST_PRIORITY, PRIORITIES
 
Constructor Summary
ConsecutiveLiteralAppends()
           
 
Method Summary
protected  java.util.Map propertiesByName()
          Return all the relevant properties for the receiver by overriding in subclasses as necessary.
 java.lang.Object visit(ASTVariableDeclaratorId node, java.lang.Object data)
           
 
Methods inherited from class net.sourceforge.pmd.AbstractRule
addProperties, addProperty, addViolation, addViolation, addViolation, addViolationWithMessage, apply, asFixedMap, asFixedMap, equals, getBooleanProperties, getBooleanProperty, getBooleanProperty, getDeclaringType, getDescription, getDoubleProperties, getDoubleProperty, getDoubleProperty, getExample, getExternalInfoUrl, getIntProperties, getIntProperty, getIntProperty, getMessage, getName, getPriority, getPriorityName, getProperties, getRuleSetName, getStringProperties, getStringProperty, getStringProperty, getTypeProperties, getTypeProperty, hashCode, hasProperty, importsPackage, include, isQualifiedName, propertyDescriptorFor, setBooleanProperty, setDescription, setExample, setExternalInfoUrl, setInclude, setMessage, setName, setPriority, setProperties, setProperty, setRuleSetName, setUsesDFA, setUsesTypeResolution, usesDFA, usesTypeResolution, visitAll
 
Methods inherited from class net.sourceforge.pmd.ast.JavaParserVisitorAdapter
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConsecutiveLiteralAppends

public ConsecutiveLiteralAppends()
Method Detail

visit

public java.lang.Object visit(ASTVariableDeclaratorId node,
                              java.lang.Object data)
Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter

propertiesByName

protected java.util.Map propertiesByName()
Description copied from class: AbstractRule
Return all the relevant properties for the receiver by overriding in subclasses as necessary.

Overrides:
propertiesByName in class AbstractRule
Returns:
Map


Copyright © 2002-2006 InfoEther. All Rights Reserved.