net.sourceforge.pmd.rules
Class AccessorClassGenerationRule

java.lang.Object
  extended bynet.sourceforge.pmd.ast.JavaParserVisitorAdapter
      extended bynet.sourceforge.pmd.AbstractRule
          extended bynet.sourceforge.pmd.rules.AccessorClassGenerationRule
All Implemented Interfaces:
JavaParserVisitor, Rule

public class AccessorClassGenerationRule
extends AbstractRule

1. Note all private constructors. 2. Note all instantiations from outside of the class by way of the private constructor. 3. Flag instantiations. Parameter types can not be matched because they can come as exposed members of classes. In this case we have no way to know what the type is. We can make a best effort though which can filter some?

Author:
CL Gilbert (dnoyeb@users.sourceforge.net), David Konecny (david.konecny@)

Nested Class Summary
private static class AccessorClassGenerationRule.AllocData
           
private  class AccessorClassGenerationRule.ClassData
           
 
Field Summary
private  java.util.List classDataList
           
private  int classID
           
private  java.lang.String packageName
           
 
Fields inherited from class net.sourceforge.pmd.AbstractRule
 
Fields inherited from interface net.sourceforge.pmd.Rule
LOWEST_PRIORITY, PRIORITIES
 
Constructor Summary
AccessorClassGenerationRule()
           
 
Method Summary
private  int getClassID()
           
private  AccessorClassGenerationRule.ClassData getCurrentClassData()
           
private  java.lang.String getPackageName()
           
private  void processRule(RuleContext ctx)
           
private  void setClassID(int ID)
           
private static java.lang.String stripString(java.lang.String remove, java.lang.String value)
           
 java.lang.Object visit(ASTAllocationExpression node, java.lang.Object data)
           
 java.lang.Object visit(ASTClassDeclaration node, java.lang.Object data)
          Outer class declaration
 java.lang.Object visit(ASTCompilationUnit node, java.lang.Object data)
          Work on each file independently.
 java.lang.Object visit(ASTConstructorDeclaration node, java.lang.Object data)
          Store all target constructors
 java.lang.Object visit(ASTInterfaceDeclaration node, java.lang.Object data)
          Outer interface visitation
 java.lang.Object visit(ASTNestedClassDeclaration node, java.lang.Object data)
           
 java.lang.Object visit(ASTNestedInterfaceDeclaration node, java.lang.Object data)
          Inner interface visitation
 java.lang.Object visit(ASTPackageDeclaration node, java.lang.Object data)
          Store package name to strip off in case necessary
 
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
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

classID

private int classID

classDataList

private java.util.List classDataList

packageName

private java.lang.String packageName
Constructor Detail

AccessorClassGenerationRule

public AccessorClassGenerationRule()
Method Detail

getCurrentClassData

private AccessorClassGenerationRule.ClassData getCurrentClassData()

setClassID

private void setClassID(int ID)

getClassID

private int getClassID()

getPackageName

private java.lang.String getPackageName()

stripString

private static java.lang.String stripString(java.lang.String remove,
                                            java.lang.String value)

visit

public java.lang.Object visit(ASTCompilationUnit node,
                              java.lang.Object data)
Work on each file independently. Assume a new AccessorClassGenerationRule object is created for each run?

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

processRule

private void processRule(RuleContext ctx)

visit

public java.lang.Object visit(ASTPackageDeclaration node,
                              java.lang.Object data)
Store package name to strip off in case necessary

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

visit

public java.lang.Object visit(ASTInterfaceDeclaration node,
                              java.lang.Object data)
Outer interface visitation

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

visit

public java.lang.Object visit(ASTNestedInterfaceDeclaration node,
                              java.lang.Object data)
Inner interface visitation

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

visit

public java.lang.Object visit(ASTClassDeclaration node,
                              java.lang.Object data)
Outer class declaration

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

visit

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

visit

public java.lang.Object visit(ASTConstructorDeclaration node,
                              java.lang.Object data)
Store all target constructors

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

visit

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