public static IFile findFile(String uriString) { return (IFile) findResource(toURI(uriString), ResourcesPlugin.getWorkspace().getRoot()::findFilesForLocationURI); }
public static IContainer findFolder(String uriString) { return (IContainer) findResource(toURI(uriString), ResourcesPlugin.getWorkspace().getRoot()::findContainersForLocationURI); }
/** * Given the uri returns a {@link IPackageFragment}. May return null if it can * not associate the uri with a package fragment. * * @param uriString * @return package fragment */ public static IPackageFragment resolvePackage(URI uri) { if (uri == null || JDT_SCHEME.equals(uri.getScheme()) || !uri.isAbsolute()) { return null; } IFolder resource = (IFolder) findResource(uri, ResourcesPlugin.getWorkspace().getRoot()::findContainersForLocationURI); if (resource != null) { if (!ProjectUtils.isJavaProject(resource.getProject())) { return null; } IJavaElement element = JavaCore.create(resource); if (element instanceof IPackageFragment) { return (IPackageFragment) element; } } return null; }
/** * Given the uri returns a {@link ICompilationUnit}. * May return null if it can not associate the uri with a Java * file. * * @param uriString * @return compilation unit */ public static ICompilationUnit resolveCompilationUnit(URI uri) { if (uri == null || JDT_SCHEME.equals(uri.getScheme()) || !uri.isAbsolute()){ return null; } IFile resource = (IFile) findResource(uri, ResourcesPlugin.getWorkspace().getRoot()::findFilesForLocationURI); if(resource != null){ if(!ProjectUtils.isJavaProject(resource.getProject())){ return null; } IJavaElement element = JavaCore.create(resource); if (element instanceof ICompilationUnit) { return (ICompilationUnit)element; } } if (resource == null) { return getFakeCompilationUnit(uri, new NullProgressMonitor()); } //the resource is not null but no compilation unit could be created (eg. project not ready yet) return null; }