List of usage examples for org.eclipse.jdt.core IClasspathEntry CPE_LIBRARY
int CPE_LIBRARY
To view the source code for org.eclipse.jdt.core IClasspathEntry CPE_LIBRARY.
Click Source Link
From source file:org.eclipse.jem.internal.beaninfo.core.BeaninfoEntry.java
License:Open Source License
static String kindToString(int kind) { switch (kind) { case IClasspathEntry.CPE_PROJECT: return "src"; // backward compatibility //$NON-NLS-1$ case IClasspathEntry.CPE_SOURCE: return "src"; //$NON-NLS-1$ case IClasspathEntry.CPE_LIBRARY: return "lib"; //$NON-NLS-1$ case IClasspathEntry.CPE_VARIABLE: return "var"; //$NON-NLS-1$ case IClasspathEntry.CPE_CONTAINER: return "con"; //$NON-NLS-1$ case BIE_PLUGIN: return "plugin"; //$NON-NLS-1$ default://from www . j a v a 2s. c om return "unknown"; //$NON-NLS-1$ } }
From source file:org.eclipse.jem.internal.beaninfo.core.BeaninfoEntry.java
License:Open Source License
/** * Return the appropriate kind of entry when we know it is a classpath entry. *///from w ww .ja v a 2 s . c o m public static IClasspathEntry createEntry(int kind, IPath path, IProject project, boolean isExported) { switch (kind) { case IClasspathEntry.CPE_LIBRARY: if (path.isAbsolute()) return JavaCore.newLibraryEntry(path, null, null, isExported); break; case IClasspathEntry.CPE_SOURCE: if (path.isAbsolute()) { // must be an entry in this project or specify another project String projSegment = path.segment(0); if (project != null && projSegment != null && projSegment.equals(project.getName())) { // this project return JavaCore.newSourceEntry(path); } else { // another project return JavaCore.newProjectEntry(path, isExported); } } break; case IClasspathEntry.CPE_VARIABLE: return JavaCore.newVariableEntry(path, null, null, isExported); case IClasspathEntry.CPE_CONTAINER: return JavaCore.newContainerEntry(path, isExported); } return null; }
From source file:org.eclipse.jem.internal.beaninfo.core.BeaninfoEntry.java
License:Open Source License
private void resolveEntry(IWorkspaceRoot root, List paths, IClasspathEntry entry, IJavaProject javaProject) { switch (entry.getEntryKind()) { case IClasspathEntry.CPE_PROJECT: IProject reqProject = (IProject) root.findMember(entry.getPath().lastSegment()); // Project entries only have one segment. if (reqProject != null && reqProject.isOpen()) paths.add(reqProject);/*from w ww . j a va2 s . c o m*/ break; case IClasspathEntry.CPE_SOURCE: reqProject = (IProject) root.findMember(entry.getPath().segment(0)); // Find project from the first segment. IJavaProject jProject = JavaCore.create(reqProject); if (jProject != null) { try { IPath outputLocation = jProject.getOutputLocation(); IResource resource = root.findMember(outputLocation); if (resource != null) { paths.add(resource.getLocation().toString()); } } catch (JavaModelException e) { } } break; case IClasspathEntry.CPE_LIBRARY: IResource library = root.findMember(entry.getPath()); // can be external or in workspace paths.add((library != null) ? library.getLocation().toString() : entry.getPath().toString()); break; case IClasspathEntry.CPE_CONTAINER: try { IClasspathContainer container = JavaCore.getClasspathContainer(entry.getPath(), javaProject); if (container != null) { IClasspathEntry[] entries = container.getClasspathEntries(); for (int i = 0; i < entries.length; i++) { resolveEntry(root, paths, entries[i], javaProject); } } } catch (JavaModelException e) { BeaninfoPlugin.getPlugin().getLogger().log(e, Level.WARNING); } } }
From source file:org.eclipse.jem.internal.beaninfo.core.SearchpathEntry.java
License:Open Source License
/** * Read the entry in from the element.//from w w w .j a v a 2 s .com */ public static SearchpathEntry readEntry(IReader reader, Object element, IProject project, boolean beaninfoChild) { String packageName = reader.getAttribute(element, sPackage); if (beaninfoChild) return new SearchpathEntry(packageName); // Kind/path aren't valid on beaninfo children. String elementKind = reader.getAttribute(element, BeaninfosDoc.sKind); String pathStr = reader.getAttribute(element, BeaninfosDoc.sPath); int kind = BeaninfoEntry.kindFromString(elementKind); IPath path = null; if (pathStr != null) { // ensure path is absolute path = new Path(pathStr); if (kind != IClasspathEntry.CPE_VARIABLE && kind != IClasspathEntry.CPE_CONTAINER && !path.isAbsolute()) { path = project != null ? project.getFullPath().append(path) : path.makeAbsolute(); // Some folder/jar within this project } } // create the appropriate entry boolean valid = true; switch (kind) { case IClasspathEntry.CPE_LIBRARY: valid = path != null && path.isAbsolute(); break; case IClasspathEntry.CPE_SOURCE: if (path == null) valid = false; else if (path.isAbsolute()) { // must be an entry in this project or specify another project String projSegment = path.segment(0); if (project == null || projSegment == null || !projSegment.equals(project.getName())) { // another project kind = IClasspathEntry.CPE_PROJECT; } } break; case IClasspathEntry.CPE_VARIABLE: case IClasspathEntry.CPE_CONTAINER: break; default: valid = false; break; } if (valid) return new SearchpathEntry(kind, path, packageName); else return null; }
From source file:org.eclipse.jem.workbench.utility.JemProjectUtilities.java
License:Open Source License
protected static List getlibraryPaths(IProject p) { IJavaProject javaProj = getJavaProject(p); if (javaProj == null) return null; IClasspathEntry[] cp = null;//from w ww .ja v a 2 s . co m try { cp = javaProj.getRawClasspath(); } catch (JavaModelException ex) { JEMUtilPlugin.getLogger().logError(ex); return null; } List libraryPaths = new ArrayList(); for (int i = 0; i < cp.length; i++) { if (cp[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY) { libraryPaths.add(cp[i].getPath().removeFirstSegments(1)); } } return libraryPaths; }
From source file:org.eclipse.jem.workbench.utility.JemProjectUtilities.java
License:Open Source License
private static void collectClasspathURLs(IJavaProject javaProject, List urls, Set visited, boolean isFirstProject) { if (visited.contains(javaProject)) return;//from w ww . ja va 2 s . c o m visited.add(javaProject); IPath outPath = getJavaProjectOutputAbsoluteLocation(javaProject.getProject()); outPath = outPath.addTrailingSeparator(); URL out = ProjectUtilities.createFileURL(outPath); urls.add(out); IClasspathEntry[] entries = null; try { entries = javaProject.getResolvedClasspath(true); } catch (JavaModelException e) { return; } IClasspathEntry entry; for (int i = 0; i < entries.length; i++) { entry = entries[i]; switch (entry.getEntryKind()) { case IClasspathEntry.CPE_LIBRARY: case IClasspathEntry.CPE_CONTAINER: case IClasspathEntry.CPE_VARIABLE: collectClasspathEntryURL(entry, urls); break; case IClasspathEntry.CPE_PROJECT: { if (isFirstProject || entry.isExported()) collectClasspathURLs(getJavaProject(entry), urls, visited, false); break; } } } }
From source file:org.eclipse.jem.workbench.utility.JemProjectUtilities.java
License:Open Source License
/** * Get the paths of all of the local jars in the classpath for the project. It does not recurse into referenced projects. * //www . java 2s . co m * @param proj * project to search (should be a java project). * @return A list of IPath, where each entry is a project relative path to a JAR contained in the project. */ public static List getLocalJARPathsFromClasspath(IProject proj) { IJavaProject javaProj = getJavaProject(proj); if (javaProj == null) return null; IPath projectPath = proj.getFullPath(); List result = new ArrayList(); IClasspathEntry[] entries = javaProj.readRawClasspath(); for (int i = 0; i < entries.length; i++) { IClasspathEntry entry = entries[i]; if (entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) { IPath path = entry.getPath(); int segments = path.matchingFirstSegments(projectPath); if (segments > 0) result.add(path.removeFirstSegments(segments)); } } return result; }
From source file:org.eclipse.jpt.common.eclipselink.core.internal.libval.EclipseLinkLibraryValidatorTools.java
License:Open Source License
private static IStatus validateEclipseLinkVersion(Iterable<IClasspathEntry> libraryEntries, VersionRange versionRange) {/*www . j ava2s .c om*/ Version version = null; for (IClasspathEntry libraryEntry : libraryEntries) { if (libraryEntry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) { String versionString = null; IClassFileReader classReader = buildClassFileReader(libraryEntry); if (classReader != null) { for (IFieldInfo field : classReader.getFieldInfos()) { if (Arrays.equals(field.getName(), VERSION_FIELD_NAME_CHAR_ARRAY)) { try { versionString = field.getConstantValueAttribute().getConstantValue() .getStringValue(); } catch (RuntimeException ex) { // assume the field has no value } break; } } } if (versionString != null) { if (version != null) { return buildErrorStatus( JptCommonEclipseLinkCoreMessages.ECLIPSELINK_LIBRARY_VALIDATOR__MULTIPLE_ECLIPSELINK_VERSIONS); } version = new Version(versionString); } } } if (version == null) { return buildErrorStatus( JptCommonEclipseLinkCoreMessages.ECLIPSELINK_LIBRARY_VALIDATOR__NO_ECLIPSELINK_VERSION); } if (!versionRange.isIncluded(version)) { return buildErrorStatus( JptCommonEclipseLinkCoreMessages.ECLIPSELINK_LIBRARY_VALIDATOR__IMPROPER_ECLIPSELINK_VERSION); } return Status.OK_STATUS; }
From source file:org.eclipse.jst.common.internal.modulecore.ClasspathContainerVirtualComponent.java
License:Open Source License
@Override public IVirtualFolder getRootFolder() { IVirtualFolder folder = new VirtualFolder(project, new Path("/")) { //$NON-NLS-1$ @Override/*www .j a v a 2 s . co m*/ public IVirtualResource[] members(int memberFlags) throws CoreException { IClasspathEntry[] entries = getEntries(); ArrayList<IVirtualFile> jars = new ArrayList<IVirtualFile>(); for (IClasspathEntry entry : entries) { if (entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) { File f = entry.getPath().toFile(); jars.add(new AbsoluteVirtualFile(getProject(), new Path("/"), f)); //$NON-NLS-1$ } } return jars.toArray(new IVirtualFile[jars.size()]); } }; return folder; }
From source file:org.eclipse.jst.common.jdt.internal.classpath.ClasspathUtil.java
License:Open Source License
public static Set getResolvedClasspath(final IJavaProject jproj, final Set entriesToIgnore) { final Set resolved = new HashSet(); try {/*from w w w . j a v a2 s. c om*/ final IClasspathEntry[] entries = jproj.getRawClasspath(); for (int i = 0; i < entries.length; i++) { IClasspathEntry entry = entries[i]; if (entriesToIgnore.contains(entry.getPath())) { continue; } switch (entry.getEntryKind()) { case IClasspathEntry.CPE_LIBRARY: case IClasspathEntry.CPE_PROJECT: { resolved.add(entry.getPath()); break; } case IClasspathEntry.CPE_VARIABLE: { entry = JavaCore.getResolvedClasspathEntry(entry); if (entry != null) { resolved.add(entry.getPath()); } break; } case IClasspathEntry.CPE_CONTAINER: { final IClasspathContainer container; try { container = JavaCore.getClasspathContainer(entry.getPath(), jproj); } catch (JavaModelException e) { Logger.getLogger().logError(e); continue; } if (container != null) { final IClasspathEntry[] containerEntries = container.getClasspathEntries(); for (int j = 0; j < containerEntries.length; j++) { resolved.add(containerEntries[j].getPath()); } } } } } } catch (JavaModelException e) { Logger.getLogger().logError(e); } return resolved; }