net.sourceforge.pmd.rules.strings
Class ConsecutiveLiteralAppends

java.lang.Object
  extended by net.sourceforge.pmd.CommonAbstractRule
      extended by net.sourceforge.pmd.AbstractJavaRule
          extended by net.sourceforge.pmd.AbstractRule
              extended by net.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 interface net.sourceforge.pmd.Rule
LOWEST_PRIORITY, PRIORITIES
 
Constructor Summary
ConsecutiveLiteralAppends()
           
 
Method Summary
protected  java.util.Map<java.lang.String,PropertyDescriptor> 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.AbstractJavaRule
addViolation, addViolation, addViolation, addViolationWithMessage, apply, getDeclaringType, importsPackage, isQualifiedName, 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, visit, visit, visit, visitAll
 
Methods inherited from class net.sourceforge.pmd.CommonAbstractRule
addExample, addProperties, addProperty, addRuleChainVisit, asFixedMap, asFixedMap, end, equals, getBooleanProperties, getBooleanProperty, getBooleanProperty, getDescription, getDoubleProperties, getDoubleProperty, getDoubleProperty, getExample, getExamples, getExternalInfoUrl, getIntProperties, getIntProperty, getIntProperty, getMessage, getName, getPriority, getPriorityName, getProperties, getRuleChainVisits, getRuleClass, getRuleSetName, getSince, getStringProperties, getStringProperty, getStringProperty, getTypeProperties, getTypeProperty, hashCode, hasProperty, include, propertyDescriptorFor, setDescription, setExternalInfoUrl, setInclude, setMessage, setName, setPriority, setProperties, setProperty, setRuleClass, setRuleSetName, setSince, setUsesDFA, setUsesTypeResolution, start, usesDFA, usesRuleChain, usesTypeResolution
 
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 AbstractJavaRule

propertiesByName

protected java.util.Map<java.lang.String,PropertyDescriptor> propertiesByName()
Description copied from class: CommonAbstractRule
Return all the relevant properties for the receiver by overriding in subclasses as necessary.

Overrides:
propertiesByName in class CommonAbstractRule
Returns:
Map


Copyright © 2002-2011 InfoEther. All Rights Reserved.