org.acm.seguin.refactor.method
Class NearMissVisitor

java.lang.Object
  extended by org.acm.seguin.summary.TraversalVisitor
      extended by org.acm.seguin.refactor.method.NearMissVisitor
All Implemented Interfaces:
SummaryVisitor

public class NearMissVisitor
extends TraversalVisitor

Determines if there is a problem in performing this refactoring because of a near miss

Author:
Chris Seguin

Constructor Summary
NearMissVisitor(TypeSummary type, MethodSummary init, TypeSummary notThisOne)
          Constructor for the NearMissVisitor object
 
Method Summary
 MethodSummary getProblem()
          Returns at least one near miss conflict
 java.lang.Object visit(MethodSummary methodSummary, java.lang.Object data)
          Visits the method summary and determines if it should be removed.
 java.lang.Object visit(TypeSummary typeSummary, java.lang.Object data)
          Visits a type summary and updates it
 
Methods inherited from class org.acm.seguin.summary.TraversalVisitor
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
 

Constructor Detail

NearMissVisitor

public NearMissVisitor(TypeSummary type,
                       MethodSummary init,
                       TypeSummary notThisOne)
Constructor for the NearMissVisitor object

Parameters:
type - the ancestor type
init - the method
notThisOne - a type to skip
Method Detail

visit

public java.lang.Object visit(TypeSummary typeSummary,
                              java.lang.Object data)
Visits a type summary and updates it

Specified by:
visit in interface SummaryVisitor
Overrides:
visit in class TraversalVisitor
Parameters:
typeSummary - Description of Parameter
data - Description of Parameter
Returns:
Description of the Returned Value

visit

public java.lang.Object visit(MethodSummary methodSummary,
                              java.lang.Object data)
Visits the method summary and determines if it should be removed.

Specified by:
visit in interface SummaryVisitor
Overrides:
visit in class TraversalVisitor
Parameters:
methodSummary - Description of Parameter
data - Description of Parameter
Returns:
Description of the Returned Value

getProblem

public MethodSummary getProblem()
Returns at least one near miss conflict

Returns:
the problem method