edu.colby.cs.JeSS.util
Class JeSSVisitor

java.lang.Object
  extended byorg.eclipse.jdt.core.dom.ASTVisitor
      extended byedu.colby.cs.JeSS.util.JeSSVisitor
Direct Known Subclasses:
ExceptionFinder, FinalFinder, InnerClassFinder, MissingModifierFinder, ProtectedModifierFinder, PublicFinalClassFinder, PublicModifierFinder

public class JeSSVisitor
extends org.eclipse.jdt.core.dom.ASTVisitor

This is the super class for all Visitors in the JeSS scanner. This is created to allow easy extensibility to the JeSS plugin. Simply create a sub-type of JeSSVisitor to find patterns in an AST and then use the reportProblem() method of JeSSVisitor to create a security marker.

Author:
Russell Spitler Mar 24, 2005

Field Summary
private  VisitorManager vManager
           
 
Fields inherited from class org.eclipse.jdt.core.dom.ASTVisitor
 
Constructor Summary
JeSSVisitor(VisitorManager vManager)
          The constructor stores a reference to the Visitor manager for error reporting
 
Method Summary
protected  java.lang.String parseClassName(java.lang.String string)
          This helper method parses a class name from the output of the standard toString() method in the TypeDeclaration AST node.
protected  java.lang.String parseStandardName(java.lang.String string)
          This method parses a user readable name from the toString() output of FieldDeclaration and MethodDeclaration.
 void reportProblem(org.eclipse.jdt.core.dom.ASTNode node, java.lang.String errorMessage)
          Used to report a problem and create a security marker for the security bug.
 
Methods inherited from class org.eclipse.jdt.core.dom.ASTVisitor
endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, postVisit, preVisit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, 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, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

vManager

private VisitorManager vManager
Constructor Detail

JeSSVisitor

public JeSSVisitor(VisitorManager vManager)
The constructor stores a reference to the Visitor manager for error reporting

Method Detail

reportProblem

public void reportProblem(org.eclipse.jdt.core.dom.ASTNode node,
                          java.lang.String errorMessage)
Used to report a problem and create a security marker for the security bug. This method uses the reportProblem() method of the VisitorManager.

Parameters:
node - - the root of the problem
errorMessage - - the message associated with the error

parseClassName

protected java.lang.String parseClassName(java.lang.String string)
This helper method parses a class name from the output of the standard toString() method in the TypeDeclaration AST node. This method relies upon the standard format of TypeDeclaration[class CLASSNAME DECLARATIONS]. The name is converted to user readable form "class CLASSNAME"

Parameters:
string - - toString() from a TypeDeclaration AST node
Returns:
the name in user readable form

parseStandardName

protected java.lang.String parseStandardName(java.lang.String string)
This method parses a user readable name from the toString() output of FieldDeclaration and MethodDeclaration. This method relies on the standard format of ***Declaration[*** NAME]

Parameters:
string - - toString() from a MethodDeclaration or FieldDeclaration node
Returns:
the name in user readable form