net.sourceforge.pmd.lang.java.rule.sunsecure
Class AbstractSunSecureRule

java.lang.Object
  extended by net.sourceforge.pmd.AbstractPropertySource
      extended by net.sourceforge.pmd.lang.rule.AbstractRule
          extended by net.sourceforge.pmd.lang.java.rule.AbstractJavaRule
              extended by net.sourceforge.pmd.lang.java.rule.sunsecure.AbstractSunSecureRule
All Implemented Interfaces:
JavaParserVisitor, ImmutableLanguage, PropertySource, Rule
Direct Known Subclasses:
ArrayIsStoredDirectlyRule, MethodReturnsInternalArrayRule

public abstract class AbstractSunSecureRule
extends AbstractJavaRule

Utility methods for the package Created on Jan 17, 2005

Author:
mgriffa

Field Summary
 
Fields inherited from class net.sourceforge.pmd.AbstractPropertySource
propertyDescriptors, propertyValuesByDescriptor
 
Fields inherited from interface net.sourceforge.pmd.Rule
VIOLATION_SUPPRESS_REGEX_DESCRIPTOR, VIOLATION_SUPPRESS_XPATH_DESCRIPTOR
 
Constructor Summary
AbstractSunSecureRule()
           
 
Method Summary
protected  String getFirstNameImage(Node n)
          Gets the image of the first ASTName node found by Node.getFirstDescendantOfType(Class)
protected  String getReturnedVariableName(ASTReturnStatement ret)
          Gets the name of the variable returned.
protected  boolean isField(String varName, ASTTypeDeclaration typeDeclaration)
          Tells if the type declaration has a field with varName.
protected  boolean isLocalVariable(String vn, Node node)
          TODO modify usages to use symbol table Tells if the variable name is a local variable declared in the method.
 
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, visitAll
 
Methods inherited from class net.sourceforge.pmd.lang.rule.AbstractRule
addExample, addRuleChainVisit, addRuleChainVisit, addViolation, addViolation, addViolation, addViolationWithMessage, addViolationWithMessage, addViolationWithMessage, deepCopyValuesTo, end, equals, getDescription, getExamples, getExternalInfoUrl, getLanguage, getMaximumLanguageVersion, getMessage, getMinimumLanguageVersion, getName, getParserOptions, getPriority, getRuleChainVisits, getRuleClass, getRuleSetName, getSince, hashCode, isDeprecated, setDeprecated, setDescription, setExternalInfoUrl, setLanguage, setMaximumLanguageVersion, setMessage, setMinimumLanguageVersion, setName, setPriority, setRuleClass, setRuleSetName, setSince, setUsesDFA, setUsesTypeResolution, start, usesDFA, usesRuleChain, usesTypeResolution
 
Methods inherited from class net.sourceforge.pmd.AbstractPropertySource
copyPropertyDescriptors, copyPropertyValues, definePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, 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.PropertySource
definePropertyDescriptor, dysfunctionReason, getPropertiesByPropertyDescriptor, getProperty, getPropertyDescriptor, getPropertyDescriptors, hasDescriptor, ignoredProperties, setProperty, useDefaultValueFor, usesDefaultValues
 

Constructor Detail

AbstractSunSecureRule

public AbstractSunSecureRule()
Method Detail

isField

protected final boolean isField(String varName,
                                ASTTypeDeclaration typeDeclaration)
Tells if the type declaration has a field with varName.

Parameters:
varName - the name of the field to search
typeDeclaration - the type declaration
Returns:
true if there is a field in the type declaration named varName, false in other case

getReturnedVariableName

protected final String getReturnedVariableName(ASTReturnStatement ret)
Gets the name of the variable returned. Some examples:
for this.foo returns foo
for foo returns foo
for foo.bar returns foo.bar

Parameters:
ret - a return statement to evaluate
Returns:
the name of the variable associated or null if it cannot be detected

isLocalVariable

protected boolean isLocalVariable(String vn,
                                  Node node)
TODO modify usages to use symbol table Tells if the variable name is a local variable declared in the method.

Parameters:
vn - the variable name
node - the ASTMethodDeclaration where the local variable name will be searched
Returns:
true if the method declaration contains any local variable named vn and false in other case

getFirstNameImage

protected String getFirstNameImage(Node n)
Gets the image of the first ASTName node found by Node.getFirstDescendantOfType(Class)

Parameters:
n - the node to search
Returns:
the image of the first ASTName or null


Copyright © 2002-2015 InfoEther. All Rights Reserved.