net.sourceforge.pmd.rules.strings
Class InefficientEmptyStringCheck

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

public class InefficientEmptyStringCheck
extends AbstractRule

This rule finds code which inefficiently determines empty strings. This code

     if(str.trim().length()==0){....
 

is quite inefficient as trim() causes a new String to be created. Smarter code to check for an empty string would be:

 Character.isWhitespace(str.charAt(i));
 

Author:
acaplan

Field Summary
 
Fields inherited from class net.sourceforge.pmd.AbstractRule
description, example, externalInfoUrl, include, message, name, priority, properties, ruleSetName, usesDFA
 
Fields inherited from interface net.sourceforge.pmd.Rule
LOWEST_PRIORITY, PRIORITIES
 
Constructor Summary
InefficientEmptyStringCheck()
           
 
Method Summary
 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, equals, getBooleanProperty, getDeclaringType, getDescription, getDoubleProperty, getExample, getExternalInfoUrl, getIntProperty, getMessage, getName, getPriority, getPriorityName, getProperties, getRuleSetName, getStringProperty, hashCode, hasProperty, include, setDescription, setExample, setExternalInfoUrl, setInclude, setMessage, setName, setPriority, setRuleSetName, setUsesDFA, usesDFA, 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, visit, visit, visit
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InefficientEmptyStringCheck

public InefficientEmptyStringCheck()
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


Copyright © 2002-2006 InfoEther. All Rights Reserved.