net.sourceforge.pmd.rules
Class CouplingBetweenObjects

java.lang.Object
  extended by net.sourceforge.pmd.ast.JavaParserVisitorAdapter
      extended by net.sourceforge.pmd.AbstractRule
          extended by net.sourceforge.pmd.rules.CouplingBetweenObjects
All Implemented Interfaces:
JavaParserVisitor, Rule

public class CouplingBetweenObjects
extends AbstractRule

CouplingBetweenObjects attempts to capture all unique Class attributes, local variables, and return types to determine how many objects a class is coupled to. This is only a guage and isn't a hard and fast rule. The threshold value is configurable and should be determined accordingly

Since:
Feb 20, 2003
Author:
aglover

Field Summary
 
Fields inherited from interface net.sourceforge.pmd.Rule
LOWEST_PRIORITY, PRIORITIES
 
Constructor Summary
CouplingBetweenObjects()
           
 
Method Summary
protected  java.util.Map<java.lang.String,PropertyDescriptor> propertiesByName()
          Return all the relevant properties for the receiver by overriding in subclasses as necessary.
 java.lang.Object visit(ASTClassOrInterfaceDeclaration node, java.lang.Object data)
           
 java.lang.Object visit(ASTCompilationUnit cu, java.lang.Object data)
           
 java.lang.Object visit(ASTFieldDeclaration node, java.lang.Object data)
           
 java.lang.Object visit(ASTFormalParameter node, java.lang.Object data)
           
 java.lang.Object visit(ASTLocalVariableDeclaration node, java.lang.Object data)
           
 java.lang.Object visit(ASTResultType node, java.lang.Object data)
           
 
Methods inherited from class net.sourceforge.pmd.AbstractRule
addExample, addProperties, addProperty, addRuleChainVisit, addViolation, addViolation, addViolation, addViolationWithMessage, apply, asFixedMap, asFixedMap, equals, getBooleanProperties, getBooleanProperty, getBooleanProperty, getDeclaringType, getDescription, getDoubleProperties, getDoubleProperty, getDoubleProperty, getExample, getExamples, getExternalInfoUrl, getIntProperties, getIntProperty, getIntProperty, getMessage, getName, getPriority, getPriorityName, getProperties, getRuleChainVisits, getRuleSetName, getStringProperties, getStringProperty, getStringProperty, getTypeProperties, getTypeProperty, hashCode, hasProperty, importsPackage, include, isQualifiedName, propertyDescriptorFor, setBooleanProperty, setDescription, setExternalInfoUrl, setInclude, setMessage, setName, setPriority, setProperties, setProperty, setRuleSetName, setUsesDFA, setUsesTypeResolution, usesDFA, usesRuleChain, 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
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CouplingBetweenObjects

public CouplingBetweenObjects()
Method Detail

visit

public java.lang.Object visit(ASTCompilationUnit cu,
                              java.lang.Object data)
Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter

visit

public java.lang.Object visit(ASTClassOrInterfaceDeclaration node,
                              java.lang.Object data)
Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter

visit

public java.lang.Object visit(ASTResultType node,
                              java.lang.Object data)
Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter

visit

public java.lang.Object visit(ASTLocalVariableDeclaration node,
                              java.lang.Object data)
Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter

visit

public java.lang.Object visit(ASTFormalParameter node,
                              java.lang.Object data)
Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter

visit

public java.lang.Object visit(ASTFieldDeclaration node,
                              java.lang.Object data)
Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter

propertiesByName

protected java.util.Map<java.lang.String,PropertyDescriptor> propertiesByName()
Description copied from class: AbstractRule
Return all the relevant properties for the receiver by overriding in subclasses as necessary.

Overrides:
propertiesByName in class AbstractRule
Returns:
Map