Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sourceforge.pmd.rules.strings
Class InefficientEmptyStringCheck

    java.lang.Object
      net.sourceforge.pmd.ast.JavaParserVisitorAdapter
          net.sourceforge.pmd.AbstractRule
              net.sourceforge.pmd.rules.AbstractInefficientZeroCheck
                  net.sourceforge.pmd.rules.strings.InefficientEmptyStringCheck

All Implemented Interfaces:
  JavaParserVisitor, Rule

public class InefficientEmptyStringCheck
extends AbstractInefficientZeroCheck

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, usesTypeResolution`

Fields inherited from interface net.sourceforge.pmd.Rule
`LOWEST_PRIORITY, PRIORITIES`

Constructor Summary
`InefficientEmptyStringCheck()`

Method Summary
`boolean` | `appliesToClassName(java.lang.String name)`
`boolean` | `isTargetMethod(NameOccurrence occ)` Determine if we're dealing with String.length method

Methods inherited from class net.sourceforge.pmd.rules.AbstractInefficientZeroCheck
`visit`

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, propertiesByName, 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

### InefficientEmptyStringCheck

    public InefficientEmptyStringCheck()

Method Detail

### isTargetMethod

    public boolean isTargetMethod(NameOccurrence occ)

  Determine if we're dealing with String.length method

  Specified by:
    `isTargetMethod` in class `AbstractInefficientZeroCheck`
  Parameters:
    `occ` - The name occurance
  Returns:
    true if it's String.length, else false

### appliesToClassName

    public boolean appliesToClassName(java.lang.String name)

  Specified by:
    `appliesToClassName` in class `AbstractInefficientZeroCheck`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2006 InfoEther. All Rights Reserved.