List of usage examples for org.eclipse.jdt.core IJavaElementDelta getAffectedChildren
public IJavaElementDelta[] getAffectedChildren();
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); }//from w w w . j ava 2s . co m }
From source file:com.blackducksoftware.integration.eclipseplugin.internal.listeners.ProjectDependenciesChangedListener.java
License:Apache License
private void visitChildren(final IJavaElementDelta delta) { for (final IJavaElementDelta c : delta.getAffectedChildren()) { visit(c);//from w ww.j a v a 2 s . com } }
From source file:com.cisco.yangide.core.indexing.DeltaProcessor.java
License:Open Source License
@Override public void elementChanged(org.eclipse.jdt.core.ElementChangedEvent event) { IJavaElementDelta delta = event.getDelta(); processJavaDeltas(delta.getAffectedChildren()); }
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 ww .j a va2 s . c om*/ } } 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. *//*from w w w . ja v a 2 s .c o m*/ 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 w ww . j a va2 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);/*w ww . j a va 2 s. 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.JavaModelSearch.java
License:Open Source License
public static void visitJavaElementDelta(IJavaElementDelta delta, IJavaElementDeltaVisitor visitor) { if (!visitor.visit(delta)) { return;/* ww w . j av a 2s .co m*/ } for (IJavaElementDelta childDelta : delta.getAffectedChildren()) { visitJavaElementDelta(childDelta, visitor); } }
From source file:com.ifedorenko.m2e.sourcelookup.internal.JavaProjectSources.java
License:Open Source License
private void processChangedChildren(IJavaElementDelta delta, Set<IJavaProject> remove, Set<IJavaProject> add) throws CoreException { for (IJavaElementDelta childDelta : delta.getAffectedChildren()) { processDelta(childDelta, remove, add); }/*w w w. j a va2 s . co m*/ }
From source file:com.redhat.ceylon.eclipse.code.explorer.PackageExplorerContentProvider.java
License:Open Source License
void handleAffectedChildren(IJavaElementDelta delta, IJavaElement element, Collection<Runnable> runnables) throws JavaModelException { int count = 0; IResourceDelta[] resourceDeltas = delta.getResourceDeltas(); if (resourceDeltas != null) { for (int i = 0; i < resourceDeltas.length; i++) { int kind = resourceDeltas[i].getKind(); if (kind == IResourceDelta.ADDED || kind == IResourceDelta.REMOVED) { count++;/*from w ww . j a v a 2 s . c o m*/ } } } IJavaElementDelta[] affectedChildren = delta.getAffectedChildren(); for (int i = 0; i < affectedChildren.length; i++) { int kind = affectedChildren[i].getKind(); if (kind == IJavaElementDelta.ADDED || kind == IJavaElementDelta.REMOVED) { count++; } } if (count > 1) { // more than one child changed, refresh from here downwards if (element instanceof IPackageFragment) { // a package fragment might become non empty refresh from the parent IJavaElement parent = (IJavaElement) internalGetParent(element); // 1GE8SI6: ITPJUI:WIN98 - Rename is not shown in Packages View // avoid posting a refresh to an invisible parent if (element.equals(fInput)) { postRefresh(element, ORIGINAL, element, runnables); } else { postRefresh(parent, PARENT, element, runnables); } } else if (element instanceof IPackageFragmentRoot) { Object toRefresh = internalGetParent(element); postRefresh(toRefresh, ORIGINAL, toRefresh, runnables); } else { postRefresh(element, ORIGINAL, element, runnables); } return; } if (resourceDeltas != null) { for (int i = 0; i < resourceDeltas.length; i++) { if (processResourceDelta(resourceDeltas[i], element, runnables)) { return; // early return, element got refreshed } } } for (int i = 0; i < affectedChildren.length; i++) { if (processDelta(affectedChildren[i], runnables)) { return; // early return, element got refreshed } } }