]> git.uio.no Git - ifi-stolz-refaktor.git/blame - software/no.uio.ifi.refaktor/src/no/uio/ifi/refaktor/change/changers/SearchBasedExtractAndMoveMethodChanger.java
Some talks, mostly identical.
[ifi-stolz-refaktor.git] / software / no.uio.ifi.refaktor / src / no / uio / ifi / refaktor / change / changers / SearchBasedExtractAndMoveMethodChanger.java
CommitLineData
2b4a9262 1package no.uio.ifi.refaktor.change.changers;
49214add 2
33b364ef 3import no.uio.ifi.refaktor.analyze.analyzers.SearchBasedExtractAndMoveMethodAnalyzer;
df7eb88a 4import no.uio.ifi.refaktor.analyze.comparators.FavorNoUnfixesExtractAndMoveCandidateComparator;
c847e15b 5import no.uio.ifi.refaktor.analyze.exceptions.RefaktorAnalyzerException;
08f060c3 6import no.uio.ifi.refaktor.change.executors.ExtractAndMoveMethodExecutor;
fa138108 7import no.uio.ifi.refaktor.change.executors.ExtractAndMoveMethodFromAnalysisExecutor;
7a62bc80 8import no.uio.ifi.refaktor.forTests.Refactorer;
37be5000 9
49214add
EK
10import org.eclipse.core.runtime.CoreException;
11import org.eclipse.core.runtime.IProgressMonitor;
0a865b44 12import org.eclipse.jdt.core.IMethod;
49214add 13
7a62bc80 14public class SearchBasedExtractAndMoveMethodChanger implements Refactorer {
49214add 15
37be5000 16 private SearchBasedExtractAndMoveMethodAnalyzer analyzer;
0a865b44
EK
17
18 public SearchBasedExtractAndMoveMethodChanger(IMethod method) {
df7eb88a 19 this.analyzer = new SearchBasedExtractAndMoveMethodAnalyzer(method, new FavorNoUnfixesExtractAndMoveCandidateComparator());
0a865b44
EK
20 }
21
49214add 22 @Override
7a62bc80 23 public void refactor(IProgressMonitor monitor) throws CoreException, RefaktorAnalyzerException {
37be5000 24 analyzer.analyze();
fa138108 25 ExtractAndMoveMethodExecutor executor = new ExtractAndMoveMethodFromAnalysisExecutor(analyzer.getCandidate());
07a0f1ac 26 executor.execute(monitor);
49214add
EK
27 }
28
29}