|
Eclipse Platform Release 3.1 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.core.runtime.PlatformObject
org.eclipse.ltk.core.refactoring.Refactoring
Abstract super class for all refactorings. Refactorings are used to perform behavior preserving work space transformations. A refactoring offers two different kind of methods:
Change
object
that represents the actual work space modifications.
checkInitialConditions(IProgressMonitor)
is called. The method
can be called more than once.checkFinalConditions(IProgressMonitor)
is called. The method
can be called more than once. The method must not be called if
checkInitialConditions(IProgressMonitor)
returns a refactoring
status of severity RefactoringStatus.FATAL
.createChange(IProgressMonitor)
is called. The method must only
called once and should not be called if one of the condition checking methods
return a refactoring status of severity RefactoringStatus.FATAL
.
A refactoring can not assume that all resources are saved before any methods are called on it. Therefore a refactoring must be able to deal with unsaved resources.
The class should be subclassed by clients wishing to implement new refactorings.
Constructor Summary | |
---|---|
Refactoring()
|
Method Summary | |
---|---|
RefactoringStatus |
checkAllConditions(IProgressMonitor pm)
Checks all conditions. |
abstract RefactoringStatus |
checkFinalConditions(IProgressMonitor pm)
After checkInitialConditions has been performed and the user has
provided all input necessary to perform the refactoring this method is called
to check the remaining preconditions.
|
abstract RefactoringStatus |
checkInitialConditions(IProgressMonitor pm)
Checks some initial conditions based on the element to be refactored. |
abstract Change |
createChange(IProgressMonitor pm)
Creates a Change object that performs the actual workspace
transformation. |
Object |
getAdapter(Class adapter)
Returns an object which is an instance of the given class associated with this object. Returns null if
no such object can be found.
This implementation of the method declared by |
abstract String |
getName()
Returns the refactoring's name. |
Object |
getValidationContext()
Returns the validation context |
void |
setValidationContext(Object context)
Sets the validation context used when calling IWorkspace.validateEdit(org.eclipse.core.resources.IFile[], java.lang.Object) . |
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public Refactoring()
Method Detail |
public final void setValidationContext(Object context)
IWorkspace.validateEdit(org.eclipse.core.resources.IFile[], java.lang.Object)
.
context
- the org.eclipse.swt.widgets.Shell
that is
to be used to parent any dialogs with the user, or null
if
there is no UI context (declared as an Object
to avoid any
direct references on the SWT component)public final Object getValidationContext()
null
if no validation
context has been set.public abstract String getName()
null
public RefactoringStatus checkAllConditions(IProgressMonitor pm) throws CoreException, OperationCanceledException
checkInitialConditions
and checkFinalConditions
.
Subclasses may extend this method to provide additional condition checks.
pm
- a progress monitor to report progress
RefactoringStatus#FATAL
the refactoring has to be considered as not being executable.
CoreException
- if an exception occurred during condition checking.
If this happens then the condition checking has to be interpreted as failed
OperationCanceledException
- if the condition checking got canceledcheckInitialConditions(IProgressMonitor)
,
checkFinalConditions(IProgressMonitor)
public abstract RefactoringStatus checkInitialConditions(IProgressMonitor pm) throws CoreException, OperationCanceledException
The refactoring has to be considered as not being executable if the returned status
has the severity of RefactoringStatus#FATAL
.
This method can be called more than once.
pm
- a progress monitor to report progress. Although initial checks
are supposed to execute fast, there can be certain situations where progress
reporting is necessary. For example rebuilding a corrupted index may report
progress.
RefactoringStatus#FATAL
the refactoring has to be considered as not being executable.
CoreException
- if an exception occurred during initial condition checking.
If this happens then the initial condition checking has to be interpreted as failed
OperationCanceledException
- if the condition checking got canceledcheckFinalConditions(IProgressMonitor)
,
RefactoringStatus.FATAL
public abstract RefactoringStatus checkFinalConditions(IProgressMonitor pm) throws CoreException, OperationCanceledException
checkInitialConditions
has been performed and the user has
provided all input necessary to perform the refactoring this method is called
to check the remaining preconditions.
The refactoring has to be considered as not being executable if the returned status
has the severity of RefactoringStatus#FATAL
.
This method can be called more than once.
pm
- a progress monitor to report progress
RefactoringStatus#FATAL
the refactoring is considered as not being executable.
CoreException
- if an exception occurred during final condition checking
If this happens then the final condition checking is interpreted as failed
OperationCanceledException
- if the condition checking got canceledcheckInitialConditions(IProgressMonitor)
,
RefactoringStatus.FATAL
public abstract Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
Change
object that performs the actual workspace
transformation.
pm
- a progress monitor to report progress
CoreException
- if an error occurred while creating the change
OperationCanceledException
- if the condition checking got canceledpublic Object getAdapter(Class adapter)
null
if
no such object can be found.
This implementation of the method declared by IAdaptable
passes the request along to the platform's adapter manager; roughly
Platform.getAdapterManager().getAdapter(this, adapter)
.
Subclasses may override this method (however, if they do so, they
should invoke the method on their superclass to ensure that the
Platform's adapter manager is consulted).
getAdapter
in interface IAdaptable
getAdapter
in class PlatformObject
adapter
- the class to adapt to
null
IAdaptable.getAdapter(Class)
,
Platform.getAdapterManager()
public String toString()
|
Eclipse Platform Release 3.1 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.