1 11 package org.eclipse.jdt.internal.core.builder; 12 13 import org.eclipse.core.resources.*; 14 import org.eclipse.core.runtime.*; 15 16 import org.eclipse.jdt.internal.compiler.env.AccessRuleSet; 17 import org.eclipse.jdt.internal.compiler.env.NameEnvironmentAnswer; 18 19 public abstract class ClasspathLocation { 20 21 static ClasspathLocation forSourceFolder(IContainer sourceFolder, IContainer outputFolder, char[][] inclusionPatterns, char[][] exclusionPatterns) { 22 return new ClasspathMultiDirectory(sourceFolder, outputFolder, inclusionPatterns, exclusionPatterns); 23 } 24 25 public static ClasspathLocation forBinaryFolder(IContainer binaryFolder, boolean isOutputFolder, AccessRuleSet accessRuleSet) { 26 return new ClasspathDirectory(binaryFolder, isOutputFolder, accessRuleSet); 27 } 28 29 static ClasspathLocation forLibrary(String libraryPathname, long lastModified, AccessRuleSet accessRuleSet) { 30 return new ClasspathJar(libraryPathname, lastModified, accessRuleSet); 31 } 32 33 static ClasspathLocation forLibrary(String libraryPathname, AccessRuleSet accessRuleSet) { 34 return forLibrary(libraryPathname, 0, accessRuleSet); 35 } 36 37 static ClasspathLocation forLibrary(IFile library, AccessRuleSet accessRuleSet) { 38 return new ClasspathJar(library, accessRuleSet); 39 } 40 41 public abstract NameEnvironmentAnswer findClass(String binaryFileName, String qualifiedPackageName, String qualifiedBinaryFileName); 42 43 public abstract IPath getProjectRelativePath(); 44 45 public boolean isOutputFolder() { 46 return false; 47 } 48 49 public abstract boolean isPackage(String qualifiedPackageName); 50 51 public void cleanup() { 52 } 54 public void reset() { 55 } 57 58 public abstract String debugPathString(); 59 60 } 61 | Popular Tags |