Class 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean appliesToClassName​(String name)  
      Map<String,​List<String>> getComparisonTargets()  
      boolean isTargetMethod​(net.sourceforge.pmd.lang.java.symboltable.JavaNameOccurrence occ)  
      Object visit​(net.sourceforge.pmd.lang.java.ast.ASTMethodDeclaration declaration, Object data)  
      Object 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 interface net.sourceforge.pmd.properties.PropertySource

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

      • UseStringIsEmptyRule

        public UseStringIsEmptyRule()
    • Method Detail

      • 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