]> git.uio.no Git - ifi-stolz-refaktor.git/blame - case-study/refaktor-after/src/no/uio/ifi/refaktor/analyze/analyzers/PackageFragmentParentExtractAndMoveMethodAnalyzer.java
Case Study: adding data and statistics
[ifi-stolz-refaktor.git] / case-study / refaktor-after / src / no / uio / ifi / refaktor / analyze / analyzers / PackageFragmentParentExtractAndMoveMethodAnalyzer.java
CommitLineData
1b2798f6
EK
1package no.uio.ifi.refaktor.analyze.analyzers;
2
3import java.util.LinkedList;
4import java.util.List;
5
6import no.uio.ifi.refaktor.analyze.ExtractAndMoveMethodCandidate;
7import no.uio.ifi.refaktor.analyze.exceptions.RefaktorAnalyzerException;
8import no.uio.ifi.refaktor.debugging.RefaktorDebug;
9
10import org.eclipse.jdt.core.IPackageFragment;
11import org.eclipse.jdt.core.JavaModelException;
12
13abstract public class PackageFragmentParentExtractAndMoveMethodAnalyzer implements AggregationAnalyzer<ExtractAndMoveMethodCandidate> {
14
15 final List<ExtractAndMoveMethodCandidate> results;
16
17 public PackageFragmentParentExtractAndMoveMethodAnalyzer() {
18 results = new LinkedList<ExtractAndMoveMethodCandidate>();
19 }
20
21 @Override
22 public List<ExtractAndMoveMethodCandidate> getResults() {
23 return results;
24 }
25
26 @Override
27 public void analyze() throws RefaktorAnalyzerException {
28 try {
29 analyzeMethodsInPackages();
30 } catch (JavaModelException e) {
31 RefaktorDebug.log(e);
32 }
33 }
34
35 protected abstract List<IPackageFragment> getPackages() throws JavaModelException;
36
37 private void analyzeMethodsInPackages() throws JavaModelException {
38 for (IPackageFragment packageFragment: getPackages()) {
39 analyzeMethodsInPackage(packageFragment);
40 }
41 }
42
43 private void analyzeMethodsInPackage(IPackageFragment packageFragment) throws JavaModelException {
44 PackageWideExtractAndMoveMethodAnalyzer analyzer =
45 new PackageWideExtractAndMoveMethodAnalyzer(packageFragment);
46 analyzer.generated_9055933483097433140(this);
47 }
48}