List of usage examples for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT
int PACKAGE_FRAGMENT_ROOT
To view the source code for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT.
Click Source Link
From source file:com.codenvy.ide.ext.java.server.internal.core.search.matching.TypeParameterPattern.java
License:Open Source License
public void findIndexMatches(Index index, IndexQueryRequestor requestor, SearchParticipant participant, IJavaSearchScope scope, IProgressMonitor progressMonitor) { IPackageFragmentRoot root = (IPackageFragmentRoot) this.typeParameter .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); String documentPath;//from w w w . j av a 2 s.c o m String relativePath; if (root.isArchive()) { IType type = (IType) this.typeParameter.getAncestor(IJavaElement.TYPE); relativePath = (type.getFullyQualifiedName('$')).replace('.', '/') + SuffixConstants.SUFFIX_STRING_class; documentPath = root.getPath() + IJavaSearchScope.JAR_FILE_ENTRY_SEPARATOR + relativePath; } else { IPath path = this.typeParameter.getPath(); documentPath = path.toString(); relativePath = Util.relativePath(path, 1/*remove project segment*/); } if (scope instanceof JavaSearchScope) { JavaSearchScope javaSearchScope = (JavaSearchScope) scope; // Get document path access restriction from java search scope // Note that requestor has to verify if needed whether the document violates the access restriction or not AccessRuleSet access = javaSearchScope.getAccessRuleSet(relativePath, index.containerPath); if (access != JavaSearchScope.NOT_ENCLOSED) { // scope encloses the path if (!requestor.acceptIndexMatch(documentPath, this, participant, access)) throw new OperationCanceledException(); } } else if (scope.encloses(documentPath)) { if (!requestor.acceptIndexMatch(documentPath, this, participant, null)) throw new OperationCanceledException(); } }
From source file:com.codenvy.ide.ext.java.server.internal.core.SearchableEnvironmentRequestor.java
License:Open Source License
/** * @see org.eclipse.jdt.internal.core.IJavaElementRequestor *///from www .j av a2 s.c o m public void acceptType(IType type) { try { if (this.unitToSkip != null && this.unitToSkip.equals(type.getCompilationUnit())) { return; } char[] packageName = type.getPackageFragment().getElementName().toCharArray(); boolean isBinary = type instanceof BinaryType; // determine associated access restriction AccessRestriction accessRestriction = null; if (this.checkAccessRestrictions && (isBinary || !type.getJavaProject().equals(this.project))) { PackageFragmentRoot root = (PackageFragmentRoot) type .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); ClasspathEntry entry = (ClasspathEntry) this.nameLookup.rootToResolvedEntries.get(root); if (entry != null) { // reverse map always contains resolved CP entry AccessRuleSet accessRuleSet = entry.getAccessRuleSet(); if (accessRuleSet != null) { // TODO (philippe) improve char[] <-> String conversions to avoid performing them on the fly char[][] packageChars = CharOperation.splitOn('.', packageName); char[] fileWithoutExtension = type.getElementName().toCharArray(); accessRestriction = accessRuleSet.getViolatedRestriction( CharOperation.concatWith(packageChars, fileWithoutExtension, '/')); } } } this.requestor.acceptType(packageName, type.getElementName().toCharArray(), null, type.getFlags(), accessRestriction); } catch (JavaModelException jme) { // ignore } }
From source file:com.codenvy.ide.ext.java.server.internal.core.util.Util.java
License:Open Source License
public static final boolean isExcluded(IJavaElement element) { int elementType = element.getElementType(); switch (elementType) { case IJavaElement.JAVA_MODEL: case IJavaElement.JAVA_PROJECT: case IJavaElement.PACKAGE_FRAGMENT_ROOT: return false; case IJavaElement.PACKAGE_FRAGMENT: PackageFragmentRoot root = (PackageFragmentRoot) element .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); File resource = ((PackageFragment) element).resource(); return resource != null && isExcluded(resource, root.fullInclusionPatternChars(), root.fullExclusionPatternChars()); case IJavaElement.COMPILATION_UNIT: root = (PackageFragmentRoot) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); resource = ((CompilationUnit) element).resource(); if (resource == null) return false; if (isExcluded(resource, root.fullInclusionPatternChars(), root.fullExclusionPatternChars())) return true; return isExcluded(element.getParent()); default://from ww w . j a v a2 s. c o m IJavaElement cu = element.getAncestor(IJavaElement.COMPILATION_UNIT); return cu != null && isExcluded(cu); } }
From source file:com.codenvy.ide.ext.java.server.JavadocFinder.java
License:Open Source License
private String getJavadoc(IMember element) { StringBuffer buffer = new StringBuffer(); boolean hasContents = false; if (element instanceof IPackageFragment || element instanceof IMember) { HTMLPrinter.addSmallHeader(buffer, getInfoText(element, element.getTypeRoot(), true)); buffer.append("<br>"); //$NON-NLS-1$ addAnnotations(buffer, element, element.getTypeRoot(), null); Reader reader = null;//w w w .j a va2s. c o m try { String content = element instanceof IMember ? JavadocContentAccess2.getHTMLContent(element, true, baseHref) : null;//JavadocContentAccess2.getHTMLContent((IPackageFragment)element); IPackageFragmentRoot root = (IPackageFragmentRoot) element .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); // boolean isBinary = root.exists() && root.getKind() == IPackageFragmentRoot.K_BINARY; if (content != null) { // base= JavaDocLocations.getBaseURL(element, isBinary); reader = new StringReader(content); } else { String explanationForMissingJavadoc = JavaDocLocations.getExplanationForMissingJavadoc(element, root); if (explanationForMissingJavadoc != null) reader = new StringReader(explanationForMissingJavadoc); } } catch (CoreException ex) { reader = new StringReader(JavaDocLocations.handleFailedJavadocFetch(ex)); } if (reader != null) { HTMLPrinter.addParagraph(buffer, reader); } hasContents = true; } if (!hasContents) return null; if (buffer.length() > 0) { //todo use url for css HTMLPrinter.insertPageProlog(buffer, 0, getStyleSheet()); // if (base != null) { // int endHeadIdx= buffer.indexOf("</head>"); //$NON-NLS-1$ // buffer.insert(endHeadIdx, "\n<base href='" + base + "'>\n"); //$NON-NLS-1$ //$NON-NLS-2$ // } HTMLPrinter.addPageEpilog(buffer); return buffer.toString(); } return null; }
From source file:com.drgarbage.bytecodevisualizer.editors.NoSourceViewer.java
License:Apache License
/** * Returns the package fragment root of this file. * /*from w w w .j a v a2 s .c o m*/ * @param file the class file * @return the package fragment root of the given class file */ private IPackageFragmentRoot getPackageFragmentRoot(IClassFile file) { IJavaElement element = file.getParent(); while (element != null && element.getElementType() != IJavaElement.PACKAGE_FRAGMENT_ROOT) element = element.getParent(); return (IPackageFragmentRoot) element; }
From source file:com.ebmwebsourcing.petals.common.internal.provisional.ui.jdt.ContainerFilter.java
License:Open Source License
@Override public boolean select(Viewer viewer, Object parent, Object element) { boolean isContainer = element instanceof IContainer; if (!isContainer && element instanceof IJavaElement) { int type = ((IJavaElement) element).getElementType(); isContainer = type == IJavaElement.JAVA_MODEL || type == IJavaElement.JAVA_PROJECT || type == IJavaElement.PACKAGE_FRAGMENT || type == IJavaElement.PACKAGE_FRAGMENT_ROOT; }//from w w w .ja v a2s . c om return (this.fFilterContainers && !isContainer) || (!this.fFilterContainers && isContainer); }
From source file:com.google.appengine.eclipse.core.validators.java.GaeChecker.java
License:Open Source License
private static IPackageFragmentRoot getPackageFragmentRoot(IJavaElement element) { return (IPackageFragmentRoot) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); }
From source file:com.google.gdt.eclipse.core.ClasspathUtilities.java
License:Open Source License
/** * Return the raw classpath entry on the project's classpath that contributes * the given type to the project.//www.j a va2 s.c o m * * @param javaProject The java project * @param fullyQualifiedName The fully-qualified type name * @return The raw classpath entry that contributes the type to the project, * or <code>null</code> if no such classpath entry can be found. * @throws JavaModelException */ public static IClasspathEntry findRawClasspathEntryFor(IJavaProject javaProject, String fullyQualifiedName) throws JavaModelException { IType type = javaProject.findType(fullyQualifiedName); if (type != null) { IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) type .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); JavaProject jProject = (JavaProject) javaProject; IClasspathEntry[] rawClasspath = javaProject.getRawClasspath(); for (IClasspathEntry rawClasspathEntry : rawClasspath) { IClasspathEntry[] resolvedClasspath = jProject .resolveClasspath(new IClasspathEntry[] { rawClasspathEntry }); IPackageFragmentRoot[] computePackageFragmentRoots = jProject .computePackageFragmentRoots(resolvedClasspath, true, null); if (Arrays.asList(computePackageFragmentRoots).contains(packageFragmentRoot)) { return rawClasspathEntry; } } return packageFragmentRoot.getRawClasspathEntry(); } return null; }
From source file:com.google.gdt.eclipse.managedapis.impl.ManagedApiChangeListener.java
License:Open Source License
/** * Implements the standard elementChanged method defined by the * IElementChangedListener, this method identifies events of importance to a * specific ManagedApiProject and calls the appropriate abstract method on a * match.// w w w.j a v a 2 s. co m */ public void elementChanged(ElementChangedEvent event) { if (managedApiProject == null) { throw new IllegalStateException("managedApiProject must be set prior to registering the listener"); } for (IJavaElementDelta delta : event.getDelta().getRemovedChildren()) { int flags = delta.getFlags(); if (flags == 0) { IJavaElement element = delta.getElement(); IJavaProject javaProject = (IJavaProject) element.getAdapter(IJavaProject.class); if (javaProject != null) { IProject project = javaProject.getProject(); if (project.equals(managedApiProject.getJavaProject().getProject())) { managedApiProjectRemoved(); } } } } for (IJavaElementDelta delta : event.getDelta().getChangedChildren()) { int flags = delta.getFlags(); if ((flags & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0) { IJavaElement element = delta.getElement(); if (element.getElementType() == IJavaElement.JAVA_PROJECT && element.equals(managedApiProject.getJavaProject())) { Set<ManagedApi> managedApiRemovalSet = new HashSet<ManagedApi>( delta.getChangedChildren().length); List<String> managedApiFolderNames = new ArrayList(); for (IJavaElementDelta childDelta : delta.getChangedChildren()) { if ((childDelta.getFlags() & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0) { IJavaElement childElement = childDelta.getElement(); if (childElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT && managedApiProject.isPackageFragmentRootInManagedApi( (IPackageFragmentRoot) childElement)) { String managedApiFolderName = managedApiProject .getPathRelativeToManagedApiRoot((IPackageFragmentRoot) childElement); if (!managedApiFolderNames.contains(managedApiFolderName)) { managedApiFolderNames.add(managedApiFolderName); managedApiRemovalSet .add(managedApiProject.createManagedApi(managedApiFolderName)); } } } } if (managedApiRemovalSet.size() > 0) { managedApiRemoved( managedApiRemovalSet.toArray(new ManagedApiImpl[managedApiRemovalSet.size()])); } } } else if ((flags & IJavaElementDelta.F_CLOSED) != 0) { IJavaElement element = delta.getElement(); if (element.getElementType() == IJavaElement.JAVA_PROJECT && element.equals(managedApiProject.getJavaProject())) { managedApiProjectClosed(); } } } }
From source file:com.google.gdt.eclipse.maven.sdk.GWTMavenRuntime.java
License:Open Source License
/** * Find the classpath for get-dev.jar which is used to run super dev mode. * * @return IClasspathEntry for the path to gwt-dev.jar * @throws JavaModelException/*w w w. j a v a 2 s .c o m*/ */ private IClasspathEntry findGwtCodeServerClasspathEntry() throws JavaModelException { IType type = javaProject .findType(GwtLaunchConfigurationProcessorUtilities.SUPERDEVMODE_CODESERVER_MAIN_TYPE); if (type == null) { return null; } IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) type .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_BINARY) { return JavaCore.newLibraryEntry(packageFragmentRoot.getPath(), null, null); } return null; }