1 package no.uio.ifi.refaktor.change.executors;
3 import no.uio.ifi.refaktor.change.performers.SimpleRefactoringPerformer;
4 import no.uio.ifi.refaktor.contributions.SaferRefactoringContribution;
6 import org.eclipse.core.runtime.CoreException;
7 import org.eclipse.core.runtime.IProgressMonitor;
8 import org.eclipse.jdt.core.IMethod;
9 import org.eclipse.ltk.core.refactoring.Refactoring;
10 import org.eclipse.ltk.core.refactoring.RefactoringDescriptor;
11 import org.eclipse.ltk.core.refactoring.RefactoringStatus;
13 public class SaferRefactoringExecutor implements Executor {
15 private final IMethod method;
17 public SaferRefactoringExecutor(IMethod method) {
22 public void execute(IProgressMonitor monitor) throws CoreException {
23 new SimpleRefactoringPerformer(monitor).performRefactoring(createRefactoring());
26 private Refactoring createRefactoring() throws CoreException {
27 return createDescriptor().createRefactoring(new RefactoringStatus());
30 private RefactoringDescriptor createDescriptor() {
31 return new SaferRefactoringContribution().createDescriptor(method);