Class UseStringIsEmptyRule

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.AbstractInefficientZeroCheck
com.qulice.pmd.rules.UseStringIsEmptyRule
All Implemented Interfaces:
net.sourceforge.pmd.lang.java.ast.JavaParserVisitor, net.sourceforge.pmd.lang.rule.ImmutableLanguage, net.sourceforge.pmd.properties.PropertySource, net.sourceforge.pmd.Rule

public final class UseStringIsEmptyRule extends net.sourceforge.pmd.lang.java.rule.AbstractInefficientZeroCheck
Rule to prohibit use of String.length() when checking for empty string. String.isEmpty() should be used instead.
Since:
0.18
  • Field Summary

    Fields inherited from class net.sourceforge.pmd.properties.AbstractPropertySource

    propertyDescriptors, propertyValuesByDescriptor

    Fields inherited from interface net.sourceforge.pmd.Rule

    VIOLATION_SUPPRESS_REGEX_DESCRIPTOR, VIOLATION_SUPPRESS_XPATH_DESCRIPTOR
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
     
    boolean
    isTargetMethod(net.sourceforge.pmd.lang.java.symboltable.JavaNameOccurrence occ)
     
    visit(net.sourceforge.pmd.lang.java.ast.ASTMethodDeclaration declaration, Object data)
     
    visit(net.sourceforge.pmd.lang.java.ast.ASTVariableDeclaratorId variable, Object data)
     

    Methods inherited from class net.sourceforge.pmd.lang.java.rule.AbstractInefficientZeroCheck

    checkNodeAndReport

    Methods inherited from class net.sourceforge.pmd.lang.java.rule.AbstractJavaRule

    apply, getDeclaringType, importsPackage, isQualifiedName, isSuppressed, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, 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.lang.rule.AbstractRule

    addExample, addRuleChainVisit, addRuleChainVisit, addViolation, addViolation, addViolation, addViolationWithMessage, addViolationWithMessage, addViolationWithMessage, asCtx, deepCopy, deepCopyValuesTo, end, equals, getDescription, getExamples, getExternalInfoUrl, getLanguage, getMaximumLanguageVersion, getMessage, getMinimumLanguageVersion, getName, getParserOptions, getPriority, getPropertySourceType, getRuleChainVisits, getRuleClass, getRuleSetName, getSince, hashCode, isDeprecated, isDfa, isMultifile, isRuleChain, isTypeResolution, setDeprecated, setDescription, setDfa, setExternalInfoUrl, setLanguage, setMaximumLanguageVersion, setMessage, setMinimumLanguageVersion, setMultifile, setName, setPriority, setRuleClass, setRuleSetName, setSince, setTypeResolution, setUsesDFA, setUsesMultifile, setUsesTypeResolution, start, usesDFA, usesMultifile, usesRuleChain, usesTypeResolution

    Methods inherited from class net.sourceforge.pmd.properties.AbstractPropertySource

    copyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, dysfunctionReason, getOverriddenPropertiesByPropertyDescriptor, getOverriddenPropertyDescriptors, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, isPropertyOverridden, setProperty, setProperty, useDefaultValueFor, usesDefaultValues

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.sourceforge.pmd.properties.PropertySource

    definePropertyDescriptor, dysfunctionReason, getOverriddenPropertiesByPropertyDescriptor, getOverriddenPropertyDescriptors, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, isPropertyOverridden, setProperty, setProperty, useDefaultValueFor, usesDefaultValues
  • Constructor Details

    • UseStringIsEmptyRule

      public UseStringIsEmptyRule()
  • Method Details

    • appliesToClassName

      public boolean appliesToClassName(String name)
      Specified by:
      appliesToClassName in class net.sourceforge.pmd.lang.java.rule.AbstractInefficientZeroCheck
    • getComparisonTargets

      public Map<String,List<String>> getComparisonTargets()
      Overrides:
      getComparisonTargets in class net.sourceforge.pmd.lang.java.rule.AbstractInefficientZeroCheck
    • isTargetMethod

      public boolean isTargetMethod(net.sourceforge.pmd.lang.java.symboltable.JavaNameOccurrence occ)
      Specified by:
      isTargetMethod in class net.sourceforge.pmd.lang.java.rule.AbstractInefficientZeroCheck
    • visit

      public Object visit(net.sourceforge.pmd.lang.java.ast.ASTVariableDeclaratorId variable, Object data)
      Specified by:
      visit in interface net.sourceforge.pmd.lang.java.ast.JavaParserVisitor
      Overrides:
      visit in class net.sourceforge.pmd.lang.java.rule.AbstractInefficientZeroCheck
    • visit

      public Object visit(net.sourceforge.pmd.lang.java.ast.ASTMethodDeclaration declaration, Object data)
      Specified by:
      visit in interface net.sourceforge.pmd.lang.java.ast.JavaParserVisitor
      Overrides:
      visit in class net.sourceforge.pmd.lang.java.rule.AbstractJavaRule