List of usage examples for org.eclipse.jdt.core IJavaElementDelta getElement
public IJavaElement getElement();
From source file:at.bestsolution.efxclipse.tooling.model.internal.ModelUpdater.java
License:Open Source License
@Override public void reconcile(ReconcileContext context) { IJavaElementDelta delta = context.getDelta(); if (delta != null) { if (delta.getElement() instanceof ICompilationUnit) { ICompilationUnit u = (ICompilationUnit) delta.getElement(); try { for (IType t : u.getTypes()) { FXPlugin.getClassmodel().clearCache(t); }//from www. j a va 2 s. co m } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } super.reconcile(context); }
From source file:com.amazonaws.eclipse.lambda.project.listener.JavaElementDeltaAcceptor.java
License:Open Source License
public static void accept(IJavaElementDelta delta, Visitor visitor) { if (visitor.visit(delta.getElement())) { accept(delta.getAffectedChildren(), visitor); }// w ww.j a v a 2 s . co m }
From source file:com.blackducksoftware.integration.eclipseplugin.internal.listeners.ProjectDependenciesChangedListener.java
License:Apache License
private void visit(final IJavaElementDelta delta) { final IJavaElement el = delta.getElement(); switch (el.getElementType()) { case IJavaElement.JAVA_MODEL: { visitChildren(delta);//from www. j a va 2 s. co m break; } case IJavaElement.JAVA_PROJECT: { if (isClasspathChanged(delta.getFlags())) { visitChildren(delta); } break; } case IJavaElement.PACKAGE_FRAGMENT_ROOT: { if ((delta.getFlags() & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0 || (delta.getKind() & IJavaElementDelta.REMOVED) != 0) { try { removeDependency(el); } catch (final CoreException | MalformedURLException e) { e.printStackTrace(); } } if ((delta.getFlags() & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0 || (delta.getKind() & IJavaElementDelta.ADDED) != 0) { try { addDependency(el); } catch (final CoreException | MalformedURLException e) { e.printStackTrace(); } } break; } default: { break; } } }
From source file:com.cisco.yangide.core.indexing.DeltaProcessor.java
License:Open Source License
private boolean processJavaDeltas(IJavaElementDelta[] affectedChildren) { for (IJavaElementDelta d : affectedChildren) { IJavaElement element = d.getElement(); if (element instanceof IPackageFragmentRoot) { IPath path = ((IPackageFragmentRoot) element).getPath(); if (path != null && path.toFile().exists() && path.lastSegment().toLowerCase().endsWith(".jar")) { switch (d.getKind()) { case IJavaElementDelta.ADDED: case IJavaElementDelta.CHANGED: this.manager.indexManager.addJarFile(element.getJavaProject().getProject(), path); break; case IJavaElementDelta.REMOVED: this.manager.indexManager.indexAll(element.getJavaProject().getProject()); return false; }/*w w w . j av a 2s. co m*/ } } if (!processJavaDeltas(d.getAffectedChildren())) { return false; } } return true; }
From source file:com.codenvy.ide.ext.java.server.internal.core.ModelUpdater.java
License:Open Source License
/** * Converts an <code>IResourceDelta</code> and its children into * the corresponding <code>IJavaElementDelta</code>s. * Return whether the delta corresponds to a resource on the classpath. * If it is not a resource on the classpath, it will be added as a non-java * resource by the sender of this method. *//* w ww . ja va2 s .c om*/ protected void traverseDelta(IJavaElementDelta delta, IPackageFragmentRoot root, IJavaProject project) { boolean processChildren = true; Openable element = (Openable) delta.getElement(); switch (element.getElementType()) { case IJavaElement.JAVA_PROJECT: project = (IJavaProject) element; break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: root = (IPackageFragmentRoot) element; break; case IJavaElement.COMPILATION_UNIT: // filter out working copies that are not primary (we don't want to add/remove them to/from the package fragment CompilationUnit cu = (CompilationUnit) element; if (cu.isWorkingCopy() && !cu.isPrimary()) { return; } // $FALL-THROUGH$ case IJavaElement.CLASS_FILE: processChildren = false; break; } switch (delta.getKind()) { case IJavaElementDelta.ADDED: elementAdded(element); break; case IJavaElementDelta.REMOVED: elementRemoved(element); break; case IJavaElementDelta.CHANGED: if ((delta.getFlags() & IJavaElementDelta.F_CONTENT) != 0) { elementChanged(element); } break; } if (processChildren) { IJavaElementDelta[] children = delta.getAffectedChildren(); for (int i = 0; i < children.length; i++) { IJavaElementDelta childDelta = children[i]; traverseDelta(childDelta, root, project); } } }
From source file:com.codenvy.ide.ext.java.server.internal.core.search.JavaWorkspaceScope.java
License:Open Source License
public void processDelta(IJavaElementDelta delta, int eventType) { if (this.enclosingPaths == null) return;/*from www.j a v a 2 s . c o m*/ IJavaElement element = delta.getElement(); switch (element.getElementType()) { case IJavaElement.JAVA_MODEL: IJavaElementDelta[] children = delta.getAffectedChildren(); for (int i = 0, length = children.length; i < length; i++) { IJavaElementDelta child = children[i]; processDelta(child, eventType); } break; case IJavaElement.JAVA_PROJECT: int kind = delta.getKind(); switch (kind) { case IJavaElementDelta.ADDED: case IJavaElementDelta.REMOVED: this.enclosingPaths = null; break; case IJavaElementDelta.CHANGED: int flags = delta.getFlags(); if ((flags & IJavaElementDelta.F_CLOSED) != 0 || (flags & IJavaElementDelta.F_OPENED) != 0) { this.enclosingPaths = null; } else { children = delta.getAffectedChildren(); for (int i = 0, length = children.length; i < length; i++) { IJavaElementDelta child = children[i]; processDelta(child, eventType); } } break; } break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: kind = delta.getKind(); switch (kind) { case IJavaElementDelta.ADDED: case IJavaElementDelta.REMOVED: this.enclosingPaths = null; break; case IJavaElementDelta.CHANGED: int flags = delta.getFlags(); if ((flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) > 0 || (flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) > 0) { this.enclosingPaths = null; } break; } break; } }
From source file:com.crispico.flower.mp.codesync.code.java.JavaElementChangedListener.java
License:Open Source License
private void processDelta(IJavaElementDelta deltaToProcess) { for (IJavaElementDelta delta : deltaToProcess.getAffectedChildren()) { processDelta(delta);// www.j a v a 2s . c om } IJavaProject project = deltaToProcess.getElement().getJavaProject(); if (project != null) { String path = project.getPath().toString(); EditorStatefulService service = (EditorStatefulService) CommunicationPlugin.getInstance() .getServiceRegistry().getService(CodeSyncEditorStatefulService.SERVICE_ID); EditableResource editableResource = service.getEditableResource(path); if (editableResource != null) { for (EditableResourceClient client : editableResource.getClients()) { // try { // CodeSyncPlugin.getInstance().getDragOnDiagramHandler().handleDragOnDiagram(Arrays.asList(deltaToProcess.getElement().getCorrespondingResource()), null, null, null, client.getCommunicationChannel()); // } catch (JavaModelException e) { // e.printStackTrace(); // } } } } }
From source file:com.google.gdt.eclipse.core.java.ClasspathChangedListener.java
License:Open Source License
public void elementChanged(ElementChangedEvent event) { 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) { continue; }//from w w w . j a va 2 s . c om classpathChanged((IJavaProject) element); } } }
From source file:com.google.gdt.eclipse.core.reference.ElementChangeListener.java
License:Open Source License
public void elementChanged(ElementChangedEvent event) { final Map<IJavaElement, IJavaElementDelta> changedElements = new HashMap<IJavaElement, IJavaElementDelta>(); JavaModelSearch.visitJavaElementDelta(event.getDelta(), new IJavaElementDeltaVisitor() { public boolean visit(IJavaElementDelta delta) { IJavaElement element = delta.getElement(); /*/* w w w .j a v a2s.com*/ * We care about packages being only added or removed because if we * called the change listeners on a change to a package, any change * to any file in that package will cause all ui.xml files that * reference that package (say with xmlns urn imports) to be * revalidated. Some projects end up having hundreds of ui.xml files * referencing a package, and then saving any change in that package * ends up taking tens of seconds. */ int type = element.getElementType(); if (type == IJavaElement.PACKAGE_FRAGMENT && delta.getKind() == IJavaElementDelta.CHANGED) { return true; } Set<IReference> references = referenceManager.getReferencesWithMatchingJavaElement(element, EnumSet.of(ReferenceLocationType.TARGET)); if (references != null && references.size() > 0) { changedElements.put(element, delta); } return true; } }); if (changedElements.size() > 0) { callReferenceChangeListeners(changedElements); } }
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./*from www . 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(); } } } }