package ilarkesto.scm; import java.io.File; import java.util.ArrayList; import java.util.Collection; import java.util.List; public class ScmWorkspace { private File dir; private Collection<AScmTool> tools; public ScmWorkspace(File dir, Collection<AScmTool> tools) { this.dir = dir; this.tools = tools; } public List<AScmProject> getProjects() { List<AScmProject> ret = new ArrayList<AScmProject>(); File[] dirs = dir.listFiles(); if (dirs == null || dirs.length == 0) return ret; for (File dir : dirs) { if (!dir.isDirectory()) continue; for (AScmTool tool : tools) { if (tool.isProjectDir(dir)) { ret.add(tool.getProject(dir)); } } } return ret; } public File getDir() { return dir; } @Override public String toString() { return "ScmWorkspace(" + dir.getPath() + ")"; } }