org.acm.seguin.refactor.type
Class RemoveClassVisitor

java.lang.Object
  extended by org.acm.seguin.summary.TraversalVisitor
      extended by org.acm.seguin.refactor.type.TypeChangeVisitor
          extended by org.acm.seguin.refactor.type.RenameClassVisitor
              extended by org.acm.seguin.refactor.type.RemoveClassVisitor
All Implemented Interfaces:
SummaryVisitor

public class RemoveClassVisitor
extends RenameClassVisitor

The visitor object for removing a class from the system.

Author:
Chris Seguin

Field Summary
 
Fields inherited from class org.acm.seguin.refactor.type.RenameClassVisitor
newClassName, oldClassName, packageName
 
Constructor Summary
RemoveClassVisitor(java.lang.String packageName, java.lang.String oldClass, java.lang.String initParentPackage, java.lang.String newClass, java.io.File base, ComplexTransform complex)
          Constructor for the remove class visitor object
 
Method Summary
protected  void alreadyImportsType(ComplexTransform refactoring, net.sourceforge.jrefactory.ast.ASTName oldOne, FileSummary node, TypeSummary importedType)
          We are performing the transformation on a refactoring that already has that type imported from another class
protected  AddImportTransform getNewImports(FileSummary node, java.lang.String className)
          Gets the New Imports transform
protected  net.sourceforge.jrefactory.ast.ASTName getNewName()
          Gets the new name
 
Methods inherited from class org.acm.seguin.refactor.type.RenameClassVisitor
addRenamingTransforms, getAppropriateClasses, getCurrentPackage, getFileSpecificTransform, getNewFile, getRemoveImportTransform
 
Methods inherited from class org.acm.seguin.refactor.type.TypeChangeVisitor
getState, preconditions, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 
Methods inherited from class org.acm.seguin.summary.TraversalVisitor
visit, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RemoveClassVisitor

public RemoveClassVisitor(java.lang.String packageName,
                          java.lang.String oldClass,
                          java.lang.String initParentPackage,
                          java.lang.String newClass,
                          java.io.File base,
                          ComplexTransform complex)
Constructor for the remove class visitor object

Parameters:
packageName - the package name
oldClass - the name of the class being deleted
newClass - the parent class of that being deleted
base - the base directory
initParentPackage - Description of Parameter
complex - Description of Parameter
Method Detail

getNewImports

protected AddImportTransform getNewImports(FileSummary node,
                                           java.lang.String className)
Gets the New Imports transform

Overrides:
getNewImports in class RenameClassVisitor
Parameters:
node - the file summary
className - the name of the class that is changing
Returns:
The NewImports value

getNewName

protected net.sourceforge.jrefactory.ast.ASTName getNewName()
Gets the new name

Overrides:
getNewName in class RenameClassVisitor
Returns:
an ASTName containing the new name

alreadyImportsType

protected void alreadyImportsType(ComplexTransform refactoring,
                                  net.sourceforge.jrefactory.ast.ASTName oldOne,
                                  FileSummary node,
                                  TypeSummary importedType)
We are performing the transformation on a refactoring that already has that type imported from another class

Overrides:
alreadyImportsType in class RenameClassVisitor
Parameters:
refactoring - the complex transformation
oldOne - the old class name
node - the file that is being changed
importedType - the type that we are supposedly importing