| 1 19 20 package ca.mcgill.sable.soot.launching; 21 22 import java.util.*; 23 24 import org.eclipse.core.resources.*; 25 import org.eclipse.jdt.core.*; 26 import org.eclipse.jface.viewers.*; 27 import ca.mcgill.sable.soot.*; 28 public class SootSelection { 29 30 private IStructuredSelection structured; 31 private IResource resource; 32 private IProject project; 33 private IJavaProject javaProject; 34 private IFolder folder; 35 private IFile file; 36 private ArrayList fileList; 37 private IClassFile classFile; 38 private ArrayList classFileList; 39 private ICompilationUnit javaFile; 40 private ArrayList javaFileList; 41 private IPackageFragmentRoot packageFragmentRoot; 42 private int type; 43 44 public static final int FILE_SELECTED_TYPE = 0; 45 public static final int FOLDER_SELECTED_TYPE = 2; 46 public static final int PACKAGEROOT_SELECTED_TYPE = 3; 47 public static final int CLASSFILE_SELECTED_TYPE = 1; 48 public static final int CU_SELECTED_TYPE = 4; 49 50 public SootSelection(IStructuredSelection struct) { 51 setStructured(struct); 52 } 53 54 public void initialize() { 55 Iterator it = getStructured().iterator(); 56 Object temp = it.next(); 57 if (temp instanceof IResource) { 58 setResource((IResource)temp); 59 setProject(getResource().getProject()); 60 SootPlugin.getDefault().setCurrentProject(getProject()); 61 setJavaProject(JavaCore.create(getProject())); 62 } 63 else if (temp instanceof IJavaElement) { 64 IJavaElement jElem = (IJavaElement)temp; 65 setJavaProject(jElem.getJavaProject()); 66 setProject(javaProject.getProject()); 67 SootPlugin.getDefault().setCurrentProject(getProject()); 68 69 } 70 71 if (temp instanceof IFolder) { 72 setFolder((IFolder)temp); 73 setType(FOLDER_SELECTED_TYPE); 74 } 75 else if (temp instanceof IFile) { 76 setFile((IFile)temp); 77 setType(FILE_SELECTED_TYPE); 78 } 79 else if (temp instanceof IClassFile) { 80 setClassFile((IClassFile)temp); 81 setType(CLASSFILE_SELECTED_TYPE); 82 } 83 else if (temp instanceof IPackageFragmentRoot) { 84 setPackageFragmentRoot((IPackageFragmentRoot)temp); 85 setType(PACKAGEROOT_SELECTED_TYPE); 86 } 87 else if (temp instanceof ICompilationUnit){ 88 setJavaFile((ICompilationUnit)temp); 89 setType(CU_SELECTED_TYPE); 90 } 91 92 Iterator allFilesIt = getStructured().iterator(); 93 while (allFilesIt.hasNext()){ 94 if (getFileList() == null) { 95 setFileList(new ArrayList()); 96 } 97 getFileList().add(allFilesIt.next()); 98 } 99 100 } 101 102 106 public IFolder getFolder() { 107 return folder; 108 } 109 110 114 public IJavaProject getJavaProject() { 115 return javaProject; 116 } 117 118 122 public IProject getProject() { 123 return project; 124 } 125 126 130 public IResource getResource() { 131 return resource; 132 } 133 134 138 public IStructuredSelection getStructured() { 139 return structured; 140 } 141 142 146 public void setFolder(IFolder folder) { 147 this.folder = folder; 148 } 149 150 154 public void setJavaProject(IJavaProject javaProject) { 155 this.javaProject = javaProject; 156 } 157 158 162 public void setProject(IProject project) { 163 this.project = project; 164 } 165 166 170 public void setResource(IResource resource) { 171 this.resource = resource; 172 } 173 174 178 public void setStructured(IStructuredSelection structured) { 179 this.structured = structured; 180 } 181 182 186 public IFile getFile() { 187 return file; 188 } 189 190 194 public void setFile(IFile file) { 195 this.file = file; 196 } 197 198 202 public int getType() { 203 return type; 204 } 205 206 210 public void setType(int type) { 211 this.type = type; 212 } 213 214 218 public IClassFile getClassFile() { 219 return classFile; 220 } 221 222 226 public void setClassFile(IClassFile classFile) { 227 this.classFile = classFile; 228 } 229 230 234 public IPackageFragmentRoot getPackageFragmentRoot() { 235 return packageFragmentRoot; 236 } 237 238 242 public void setPackageFragmentRoot(IPackageFragmentRoot packageFragmentRoot) { 243 this.packageFragmentRoot = packageFragmentRoot; 244 } 245 246 249 public ICompilationUnit getJavaFile() { 250 return javaFile; 251 } 252 253 256 public void setJavaFile(ICompilationUnit unit) { 257 javaFile = unit; 258 } 259 260 263 public ArrayList getClassFileList() { 264 return classFileList; 265 } 266 267 270 public ArrayList getFileList() { 271 return fileList; 272 } 273 274 277 public ArrayList getJavaFileList() { 278 return javaFileList; 279 } 280 281 284 public void setClassFileList(ArrayList list) { 285 classFileList = list; 286 } 287 288 291 public void setFileList(ArrayList list) { 292 fileList = list; 293 } 294 295 298 public void setJavaFileList(ArrayList list) { 299 javaFileList = list; 300 } 301 302 } 303 | Popular Tags |