org.acm.seguin.refactor.field
Class RemoveFieldFromSubclassVisitor

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

public class RemoveFieldFromSubclassVisitor
extends TraversalVisitor

Removes the field from all subclasses of a particular class.

Author:
Chris Seguin

Constructor Summary
RemoveFieldFromSubclassVisitor(TypeSummary type, FieldSummary init, TypeSummary notThisOne, ComplexTransform transform)
          Constructor for the RemoveFieldFromSubclassVisitor object
 
Method Summary
 java.lang.Object visit(FieldSummary fieldSummary, java.lang.Object data)
          Visits the field summary and determines if it should be removed.
 java.lang.Object visit(FileSummary fileSummary, java.lang.Object data)
          Visits a file summary node and updates it if necessary
 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RemoveFieldFromSubclassVisitor

public RemoveFieldFromSubclassVisitor(TypeSummary type,
                                      FieldSummary init,
                                      TypeSummary notThisOne,
                                      ComplexTransform transform)
Constructor for the RemoveFieldFromSubclassVisitor object

Parameters:
type - the ancestor type
init - the field
notThisOne - a type to skip
transform - Description of Parameter
Method Detail

visit

public java.lang.Object visit(FileSummary fileSummary,
                              java.lang.Object data)
Visits a file summary node and updates it if necessary

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

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(FieldSummary fieldSummary,
                              java.lang.Object data)
Visits the field summary and determines if it should be removed.

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