org.acm.seguin.summary
Class TraversalVisitor

java.lang.Object
  extended by org.acm.seguin.summary.TraversalVisitor
All Implemented Interfaces:
SummaryVisitor
Direct Known Subclasses:
AddMethodTypeVisitor, ChildClassSearcher, NearMissVisitor, PrintVisitor, RemoveFieldFromSubclassVisitor, RemoveMethodFromSubclassVisitor, RenameSystemTraversal, RenameSystemTraversal, TypeChangeVisitor

public class TraversalVisitor
extends java.lang.Object
implements SummaryVisitor

All items that want to visit a summary tree should implement this interface.

Author:
Chris Seguin

Constructor Summary
TraversalVisitor()
           
 
Method Summary
 java.lang.Object visit(FieldAccessSummary node, java.lang.Object data)
          Visit a field access summary.
 java.lang.Object visit(FieldSummary node, java.lang.Object data)
          Visit a field summary.
 java.lang.Object visit(FileSummary node, java.lang.Object data)
          Visit a file summary.
 java.lang.Object visit(ImportSummary node, java.lang.Object data)
          Visit a import summary.
 java.lang.Object visit(LocalVariableSummary node, java.lang.Object data)
          Visit a local variable summary.
 java.lang.Object visit(MessageSendSummary node, java.lang.Object data)
          Visit a message send summary.
 java.lang.Object visit(MethodSummary node, java.lang.Object data)
          Visit a method summary.
 void visit(java.lang.Object data)
          Visit all nodes.
 java.lang.Object visit(PackageSummary node, java.lang.Object data)
          Visit a package summary.
 java.lang.Object visit(ParameterSummary node, java.lang.Object data)
          Visit a parameter summary.
 java.lang.Object visit(Summary node, java.lang.Object data)
          Visit a summary node.
 java.lang.Object visit(TypeDeclSummary node, java.lang.Object data)
          Visit a type declaration summary.
 java.lang.Object visit(TypeSummary node, java.lang.Object data)
          Visit a type summary.
 java.lang.Object visit(VariableSummary node, java.lang.Object data)
          Visit a variable summary.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TraversalVisitor

public TraversalVisitor()
Method Detail

visit

public java.lang.Object visit(Summary node,
                              java.lang.Object data)
Visit a summary node. This is the default method.

Specified by:
visit in interface SummaryVisitor
Parameters:
node - the summary that we are visiting
data - the data that was passed in
Returns:
the result

visit

public void visit(java.lang.Object data)
Visit all nodes.

Parameters:
data - the data that was passed in

visit

public java.lang.Object visit(PackageSummary node,
                              java.lang.Object data)
Visit a package summary.

Specified by:
visit in interface SummaryVisitor
Parameters:
node - the summary that we are visiting
data - the data that was passed in
Returns:
the result

visit

public java.lang.Object visit(FileSummary node,
                              java.lang.Object data)
Visit a file summary.

Specified by:
visit in interface SummaryVisitor
Parameters:
node - the summary that we are visiting
data - the data that was passed in
Returns:
the result

visit

public java.lang.Object visit(ImportSummary node,
                              java.lang.Object data)
Visit a import summary.

Specified by:
visit in interface SummaryVisitor
Parameters:
node - the summary that we are visiting
data - the data that was passed in
Returns:
the result

visit

public java.lang.Object visit(TypeSummary node,
                              java.lang.Object data)
Visit a type summary.

Specified by:
visit in interface SummaryVisitor
Parameters:
node - the summary that we are visiting
data - the data that was passed in
Returns:
the result

visit

public java.lang.Object visit(MethodSummary node,
                              java.lang.Object data)
Visit a method summary.

Specified by:
visit in interface SummaryVisitor
Parameters:
node - the summary that we are visiting
data - the data that was passed in
Returns:
the result

visit

public java.lang.Object visit(FieldSummary node,
                              java.lang.Object data)
Visit a field summary.

Specified by:
visit in interface SummaryVisitor
Parameters:
node - the summary that we are visiting
data - the data that was passed in
Returns:
the result

visit

public java.lang.Object visit(ParameterSummary node,
                              java.lang.Object data)
Visit a parameter summary.

Specified by:
visit in interface SummaryVisitor
Parameters:
node - the summary that we are visiting
data - the data that was passed in
Returns:
the result

visit

public java.lang.Object visit(LocalVariableSummary node,
                              java.lang.Object data)
Visit a local variable summary.

Specified by:
visit in interface SummaryVisitor
Parameters:
node - the summary that we are visiting
data - the data that was passed in
Returns:
the result

visit

public java.lang.Object visit(VariableSummary node,
                              java.lang.Object data)
Visit a variable summary.

Specified by:
visit in interface SummaryVisitor
Parameters:
node - the summary that we are visiting
data - the data that was passed in
Returns:
the result

visit

public java.lang.Object visit(TypeDeclSummary node,
                              java.lang.Object data)
Visit a type declaration summary.

Specified by:
visit in interface SummaryVisitor
Parameters:
node - the summary that we are visiting
data - the data that was passed in
Returns:
the result

visit

public java.lang.Object visit(MessageSendSummary node,
                              java.lang.Object data)
Visit a message send summary.

Specified by:
visit in interface SummaryVisitor
Parameters:
node - the summary that we are visiting
data - the data that was passed in
Returns:
the result

visit

public java.lang.Object visit(FieldAccessSummary node,
                              java.lang.Object data)
Visit a field access summary.

Specified by:
visit in interface SummaryVisitor
Parameters:
node - the summary that we are visiting
data - the data that was passed in
Returns:
the result