]> git.uio.no Git - ifi-stolz-refaktor.git/blame - case-study/refaktor-before/src/no/uio/ifi/refaktor/analyze/analyzers/ProjectWideExtractAndMoveMethodAnalyzer.java
Case Study: adding data and statistics
[ifi-stolz-refaktor.git] / case-study / refaktor-before / src / no / uio / ifi / refaktor / analyze / analyzers / ProjectWideExtractAndMoveMethodAnalyzer.java
CommitLineData
1b2798f6
EK
1package no.uio.ifi.refaktor.analyze.analyzers;
2
3import java.util.Arrays;
4import java.util.List;
5
6import no.uio.ifi.refaktor.utils.RefaktorHandleUtils;
7
8import org.eclipse.core.resources.IProject;
9import org.eclipse.jdt.core.IJavaProject;
10import org.eclipse.jdt.core.IPackageFragment;
11import org.eclipse.jdt.core.JavaModelException;
12
13/**
14 * Responsible for analyzing all methods in a project for
15 * candidates to the Extract and Move Method refactoring.
16 */
17public class ProjectWideExtractAndMoveMethodAnalyzer extends PackageFragmentParentExtractAndMoveMethodAnalyzer {
18
19 private final IJavaProject javaProject;
20
21 public ProjectWideExtractAndMoveMethodAnalyzer(IProject project) {
22 this(RefaktorHandleUtils.createJavaProjectFrom(project));
23 }
24
25 public ProjectWideExtractAndMoveMethodAnalyzer(IJavaProject javaProject) {
26 this.javaProject = javaProject;
27 }
28
29 @Override
30 protected List<IPackageFragment> getPackages() throws JavaModelException {
31 return RefaktorHandleUtils.findPackagesAmongPackageFragments(Arrays.asList(javaProject.getPackageFragments()));
32 }
33}