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:org.eclipse.jpt.jpa.core.internal.InternalJpaProjectManager.java
License:Open Source License
/** * We recurse back here from {@link #handleJavaDeltaChildren(IJavaElementDelta)}. *///from w w w. j a v a 2 s. c o m protected boolean handleJavaDelta(IJavaElementDelta delta) { switch (delta.getElement().getElementType()) { case IJavaElement.JAVA_MODEL: return this.handleJavaModelDelta(delta); case IJavaElement.JAVA_PROJECT: return this.handleJavaProjectDelta(delta); case IJavaElement.PACKAGE_FRAGMENT_ROOT: return this.handleJavaPackageFragmentRootDelta(delta); case IJavaElement.PACKAGE_FRAGMENT: return this.processJavaPackageFragmentDelta(delta); case IJavaElement.COMPILATION_UNIT: return this.handleJavaCompilationUnitDelta(delta); default: break; // ignore the elements inside a compilation unit } return false; }
From source file:org.eclipse.jpt.jpa.core.internal.refactoring.JpaDeletePackageOrFolderParticipant.java
License:Open Source License
/** * This is used when multiple IPackageFraments/IFolders are deleted. * RefactoringParticipant#initialize(Object) is called for the first deleted IPackageFragment/IFolder. * RefactoringParticipant#getArguments() only applies to the first deleted IPackageFragment/IFolder *//*w w w . j a va 2 s . com*/ public void addElement(Object element, RefactoringArguments arguments) { if (element instanceof IFolder) { IJavaElement javaElement = JavaCore.create((IFolder) element); if (javaElement != null) { if (javaElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) { this.addPackageFragmentRoot((IPackageFragmentRoot) javaElement); } else { this.addPackageFragment((IPackageFragment) javaElement); } } else { this.addFolder((IFolder) element); } } else { this.addPackageFragment((IPackageFragment) element); } }
From source file:org.eclipse.jpt.jpa.ui.internal.handlers.MakePersistentHandler.java
License:Open Source License
/** * Return a map containing lists of types, keyed by project. * <p>// w w w. j a v a 2 s . c o m * The action is contributed for:<ul> * <li>{@link IType} * <li>{@link ICompilationUnit} * <li>{@link IPackageFragment} * <li>{@link IPackageFragmentRoot} that is a source folder * </ul> */ private Map<IProject, Set<IType>> buildSelectedTypes(ISelection currentSelection) { if (!(currentSelection instanceof StructuredSelection)) { return Collections.emptyMap(); } HashMap<IProject, Set<IType>> types = new HashMap<IProject, Set<IType>>(); for (Object sel : ((StructuredSelection) currentSelection).toList()) { switch (((IJavaElement) sel).getElementType()) { case IJavaElement.PACKAGE_FRAGMENT_ROOT: this.addSelectedTypes((IPackageFragmentRoot) sel, types); break; case IJavaElement.PACKAGE_FRAGMENT: this.addSelectedTypes((IPackageFragment) sel, types); break; case IJavaElement.COMPILATION_UNIT: this.addSelectedTypes((ICompilationUnit) sel, types); break; case IJavaElement.TYPE: this.addSelectedType((IType) sel, types); break; default: break; } } return types; }
From source file:org.eclipse.jst.j2ee.internal.common.operations.JavaModelUtil.java
License:Open Source License
private static void addAllCus(HashSet/*<ICompilationUnit>*/ collector, IJavaElement javaElement) throws JavaModelException { switch (javaElement.getElementType()) { case IJavaElement.JAVA_PROJECT: IJavaProject javaProject = (IJavaProject) javaElement; IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots(); for (int i = 0; i < packageFragmentRoots.length; i++) addAllCus(collector, packageFragmentRoots[i]); return;/*from w w w .j av a 2 s.com*/ case IJavaElement.PACKAGE_FRAGMENT_ROOT: IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) javaElement; if (packageFragmentRoot.getKind() != IPackageFragmentRoot.K_SOURCE) return; IJavaElement[] packageFragments = packageFragmentRoot.getChildren(); for (int j = 0; j < packageFragments.length; j++) addAllCus(collector, packageFragments[j]); return; case IJavaElement.PACKAGE_FRAGMENT: IPackageFragment packageFragment = (IPackageFragment) javaElement; collector.addAll(Arrays.asList(packageFragment.getCompilationUnits())); return; case IJavaElement.COMPILATION_UNIT: collector.add(javaElement); return; default: IJavaElement cu = javaElement.getAncestor(IJavaElement.COMPILATION_UNIT); if (cu != null) collector.add(cu); } }
From source file:org.eclipse.jst.j2ee.internal.dialogs.TypeJavaSearchScope.java
License:Open Source License
public void add(IJavaElement element) throws JavaModelException { IPackageFragmentRoot root = null;//from w w w. java2 s.co m switch (element.getElementType()) { case IJavaElement.JAVA_MODEL: // a workspace sope should be used break; case IJavaElement.JAVA_PROJECT: this.add((IJavaProject) element, true, new HashSet(2)); break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: root = (IPackageFragmentRoot) element; this.add(root.getPath(), true); break; case IJavaElement.PACKAGE_FRAGMENT: root = (IPackageFragmentRoot) element.getParent(); if (root.isArchive()) { this.add(root.getPath().append(new Path(element.getElementName().replace('.', '/'))), false); } else { IResource resource = element.getUnderlyingResource(); if (resource != null && resource.isAccessible()) { this.add(resource.getFullPath(), false); } } break; default: // remember sub-cu (or sub-class file) java elements if (element instanceof IMember) { if (this.elements == null) { this.elements = new ArrayList(); } this.elements.add(element); } this.add(this.fullPath(element), true); // find package fragment root including this java element IJavaElement parent = element.getParent(); while (parent != null && !(parent instanceof IPackageFragmentRoot)) { parent = parent.getParent(); } if (parent instanceof IPackageFragmentRoot) { root = (IPackageFragmentRoot) parent; } } if (root != null) { if (root.getKind() == IPackageFragmentRoot.K_BINARY) { this.addEnclosingProjectOrJar(root.getPath()); } else { this.addEnclosingProjectOrJar(root.getJavaProject().getProject().getFullPath()); } } }
From source file:org.eclipse.jst.j2ee.internal.wizard.NewJavaClassWizardPage.java
License:Open Source License
private IPackageFragmentRoot getSelectedPackageFragmentRoot() { IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (window == null) return null; ISelection selection = window.getSelectionService().getSelection(); if (selection == null) return null; // StructuredSelection stucturedSelection = (StructuredSelection) // selection; IJavaElement element = getInitialJavaElement(selection); if (element != null) { if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) return (IPackageFragmentRoot) element; }/*from w ww . ja v a 2 s. co m*/ return null; }
From source file:org.eclipse.jst.j2ee.refactor.listeners.J2EEElementChangedListener.java
License:Open Source License
private void getJavaSrcMappings(final IJavaElementDelta[] children, final boolean cpChanged, final IJavaProject jproject, final List pathsToAdd, final List pathsToRemove, final List changedPaths) throws CoreException { IVirtualComponent c = ComponentCore.createComponent(jproject.getProject()); if (c == null) return;// www . j a v a 2s .c o m // get the default destination folder final IVirtualFolder defaultDestFolder = getDestinationFolder(c); for (int i = 0; i < children.length; i++) { final IJavaElementDelta delta = children[i]; final IJavaElement element = delta.getElement(); if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) { final IPackageFragmentRoot root = (IPackageFragmentRoot) element; int cpeKind = IPackageFragmentRoot.K_SOURCE; boolean abortAdd = false; try { cpeKind = root.getKind(); } catch (JavaModelException jme) { // this is thrown if the folder corresponding to the CPE has been deleted // since it could represent another error, we need to abort adding. abortAdd = true; } // only update if we know it is a src folder if (cpeKind == IPackageFragmentRoot.K_SOURCE) { final int kind = delta.getKind(); if (!cpChanged) { // if the classpath is not changed, save modifications to the Java src path if (kind == IJavaElementDelta.CHANGED || kind == IJavaElementDelta.REMOVED) { changedPaths.add(root.getPath().removeFirstSegments(1)); } } else { // kind and flags for CP additions are somewhat sporadic; either: // -kind is ADDED and flags are 0 // or // -kind is CHANGED and flags are F_ADDED_TO_CLASSPATH final int flags = delta.getFlags(); if (kind == IJavaElementDelta.ADDED || (flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) == IJavaElementDelta.F_ADDED_TO_CLASSPATH) { if (!abortAdd) { final IPath pathToAdd = root.getPath().removeFirstSegments(1); pathsToAdd.add(new Object[] { pathToAdd, defaultDestFolder }); // if the added src path was moved from another location, remove any mapping for that // location if ((flags & IJavaElementDelta.F_MOVED_FROM) == IJavaElementDelta.F_MOVED_FROM) { final IJavaElement movedFromElement = delta.getMovedFromElement(); final IPath pathToRemove = movedFromElement.getPath().removeFirstSegments(1); pathsToRemove.add(new Object[] { pathToRemove, defaultDestFolder }); } } // getting a kind = REMOVED and flags = 0 for removal of the folder (w/o removing the CPE), probably // should not be generated } else if (kind == IJavaElementDelta.REMOVED || (flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) == IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) { IPath path = root.getPath().removeFirstSegments(1); pathsToRemove.add(new Object[] { path, defaultDestFolder }); } } } } } }
From source file:org.eclipse.jst.jsf.common.internal.types.TypeInfoCache.java
License:Open Source License
/**Removes all cached info that may be affected by the given change. * @param delta - the change in the java model *//*from ww w . j a v a2 s . co m*/ protected void updateChangedJavaElement(IJavaElementDelta delta) { IJavaElement element = delta.getElement(); switch (element.getElementType()) { case IJavaElement.JAVA_MODEL: updateChangedJavaModel(delta, element); break; case IJavaElement.JAVA_PROJECT: updateChangedJavaProject(delta, element); break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: updateChangedPackageFragmentRoot(delta, element); break; case IJavaElement.PACKAGE_FRAGMENT: updateChangedPackageFragment(delta, (IPackageFragment) element); break; case IJavaElement.CLASS_FILE: case IJavaElement.COMPILATION_UNIT: updateChangedOpenable(delta, element); break; } }
From source file:org.eclipse.jst.jsp.core.taglib.ProjectDescription.java
License:Open Source License
void handleElementChanged(IJavaElementDelta delta) { if (fBuildPathIsDirty) { return;/* w w w . j a v a 2 s .com*/ } // Logger.log(Logger.INFO_DEBUG, "IJavaElementDelta: " + delta); IJavaElement element = delta.getElement(); if (element.getElementType() == IJavaElement.JAVA_PROJECT) { IJavaElementDelta[] affectedChildren = delta.getAffectedChildren(); for (int i = 0; i < affectedChildren.length; i++) { handleElementChanged(affectedChildren[i]); } } if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT && ((IPackageFragmentRoot) element).isArchive()) { time0 = System.currentTimeMillis(); if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT && ((IPackageFragmentRoot) element).isExternal()) { } String libLocation = null; int taglibRecordEventKind = -1; if ((delta.getFlags() & IJavaElementDelta.F_ADDED_TO_CLASSPATH) > 0 || (delta.getFlags() & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) > 0 || (delta.getFlags() & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) > 0) { taglibRecordEventKind = ITaglibIndexDelta.CHANGED; if ((delta.getFlags() & IJavaElementDelta.F_ADDED_TO_CLASSPATH) > 0) { taglibRecordEventKind = ITaglibIndexDelta.ADDED; } else if ((delta.getFlags() & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) > 0) { taglibRecordEventKind = ITaglibIndexDelta.CHANGED; } else if ((delta.getFlags() & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) > 0) { taglibRecordEventKind = ITaglibIndexDelta.REMOVED; } IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(element.getPath()); if (file.isAccessible() && file.getLocation() != null) libLocation = file.getLocation().toString(); else libLocation = element.getPath().toString(); } if (libLocation != null) { boolean fragmentisExported = true; try { IClasspathEntry rawClasspathEntry = ((IPackageFragmentRoot) element).getRawClasspathEntry(); /* * null may also be returned for deletions depending on * resource/build path notification order. If it's null, * it's been deleted and whether it's exported won't * really matter */ if (rawClasspathEntry != null) { fragmentisExported = rawClasspathEntry.isExported(); } } catch (JavaModelException e) { // IPackageFragmentRoot not part of the build path } if ((delta.getFlags() & IJavaElementDelta.F_ADDED_TO_CLASSPATH) > 0) { fBuildPathEntryCount++; } else if ((delta.getFlags() & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) > 0) { fBuildPathEntryCount--; } updateClasspathLibrary(libLocation, taglibRecordEventKind, fragmentisExported); } if (_debugIndexTime) Logger.log(Logger.INFO, "processed build path delta for " + fProject.getName() + "(" //$NON-NLS-1$//$NON-NLS-2$ + element.getPath() + ") in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ } }
From source file:org.eclipse.jst.jsp.core.taglib.ProjectDescription.java
License:Open Source License
void queueElementChanged(IJavaElementDelta delta) { try {/*w w w . ja v a 2 s . c o m*/ LOCK.acquire(); IJavaElement element = delta.getElement(); if (element.getElementType() == IJavaElement.JAVA_PROJECT) { IJavaElementDelta[] affectedChildren = delta.getAffectedChildren(); for (int i = 0; i < affectedChildren.length; i++) { queueElementChanged(affectedChildren[i]); } } if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT && ((IPackageFragmentRoot) element).isArchive()) { IPath path = element.getPath(); boolean fragmentisExported = true; try { IClasspathEntry rawClasspathEntry = ((IPackageFragmentRoot) element).getRawClasspathEntry(); /* * null may also be returned for deletions depending on * resource/build path notification order. If it's null, * it's been deleted and whether it's exported won't * really matter */ if (rawClasspathEntry != null) { fragmentisExported = rawClasspathEntry.isExported(); } } catch (JavaModelException e) { // IPackageFragmentRoot not part of the build path } String key = path.toString(); if ((delta.getFlags() & IJavaElementDelta.F_ADDED_TO_CLASSPATH) > 0) { fPackageFragmentRootsAdded.put(key, new PackageFragmentRootDelta(path, ITaglibIndexDelta.ADDED, fragmentisExported)); fPackageFragmentRootsChanged.remove(key); fPackageFragmentRootsRemoved.remove(key); fBuildPathEntryCount++; } else if ((delta.getFlags() & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) > 0) { fPackageFragmentRootsChanged.put(key, new PackageFragmentRootDelta(path, ITaglibIndexDelta.CHANGED, fragmentisExported)); } else if (((delta.getFlags() & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) > 0) && ((delta.getFlags() & IJavaElementDelta.F_REORDER) == 0)) { fPackageFragmentRootsAdded.remove(key); fPackageFragmentRootsChanged.remove(key); fPackageFragmentRootsRemoved.put(key, new PackageFragmentRootDelta(path, ITaglibIndexDelta.REMOVED, fragmentisExported)); fBuildPathEntryCount--; } } } finally { LOCK.release(); } fBuildPathJob.cancel(); fBuildPathJob.schedule(2000); }