net.sourceforge.pmd.rules
Class CouplingBetweenObjectsRule

java.lang.Object
  |
  +--net.sourceforge.pmd.ast.JavaParserVisitorAdapter
        |
        +--net.sourceforge.pmd.AbstractRule
              |
              +--net.sourceforge.pmd.rules.CouplingBetweenObjectsRule
All Implemented Interfaces:
JavaParserVisitor, Rule

public class CouplingBetweenObjectsRule
extends AbstractRule

CouplingBetweenObjectsRule 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
CouplingBetweenObjectsRule()
           
 
Method Summary
 java.lang.Object visit(ASTClassDeclaration node, java.lang.Object data)
          handles class declaration.
 java.lang.Object visit(ASTCompilationUnit cu, java.lang.Object data)
          handles the source file
 java.lang.Object visit(ASTFieldDeclaration node, java.lang.Object data)
          handles a field declaration - i.e.
 java.lang.Object visit(ASTFormalParameter node, java.lang.Object data)
          handles a method parameter
 java.lang.Object visit(ASTLocalVariableDeclaration node, java.lang.Object data)
          handles a local variable found in a method block
 java.lang.Object visit(ASTResultType node, java.lang.Object data)
          handles a return type of a method
 
Methods inherited from class net.sourceforge.pmd.AbstractRule
addProperty, apply, createRuleViolation, createRuleViolation, equals, getBooleanProperty, getDescription, getDoubleProperty, getExample, getIntProperty, getMessage, getName, getPriority, getPriorityName, getProperties, getStringProperty, hashCode, hasProperty, include, setDescription, setExample, setInclude, setMessage, setName, setPriority, 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
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CouplingBetweenObjectsRule

public CouplingBetweenObjectsRule()
Method Detail

visit

public java.lang.Object visit(ASTCompilationUnit cu,
                              java.lang.Object data)
handles the source file

Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter
Returns:
Object

visit

public java.lang.Object visit(ASTClassDeclaration node,
                              java.lang.Object data)
handles class declaration. I need this to capture class name. I think there is probably a better way to capture it; however, I don't know the framework well enough yet...

Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter
Returns:
Object

visit

public java.lang.Object visit(ASTResultType node,
                              java.lang.Object data)
handles a return type of a method

Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter
Returns:
Object

visit

public java.lang.Object visit(ASTLocalVariableDeclaration node,
                              java.lang.Object data)
handles a local variable found in a method block

Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter
Returns:
Object

visit

public java.lang.Object visit(ASTFormalParameter node,
                              java.lang.Object data)
handles a method parameter

Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter
Returns:
Object

visit

public java.lang.Object visit(ASTFieldDeclaration node,
                              java.lang.Object data)
handles a field declaration - i.e. an instance variable. Method doesn't care if variable is public/private/etc

Specified by:
visit in interface JavaParserVisitor
Overrides:
visit in class JavaParserVisitorAdapter
Returns:
Object


Copyright © 2002-2003 Project Ultra*Log @ DARPA. All Rights Reserved.