Example usage for org.eclipse.jdt.core IJavaElementDelta F_CHILDREN

List of usage examples for org.eclipse.jdt.core IJavaElementDelta F_CHILDREN

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaElementDelta F_CHILDREN.

Prototype

int F_CHILDREN

To view the source code for org.eclipse.jdt.core IJavaElementDelta F_CHILDREN.

Click Source Link

Document

Change flag indicating that there are changes to the children of the element.

Usage

From source file:com.codenvy.ide.ext.java.server.internal.core.JavaElementDelta.java

License:Open Source License

protected boolean toDebugString(StringBuffer buffer, int flags) {
    boolean prev = super.toDebugString(buffer, flags);

    if ((flags & IJavaElementDelta.F_CHILDREN) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("CHILDREN"); //$NON-NLS-1$
        prev = true;/*from w w w .j  a va2s.c  o  m*/
    }
    if ((flags & IJavaElementDelta.F_CONTENT) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("CONTENT"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_MOVED_FROM) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("MOVED_FROM(" + ((JavaElement) getMovedFromElement()).toStringWithAncestors() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_MOVED_TO) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("MOVED_TO(" + ((JavaElement) getMovedToElement()).toStringWithAncestors() + ")"); //$NON-NLS-1$ //$NON-NLS-2$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("ADDED TO CLASSPATH"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("REMOVED FROM CLASSPATH"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_REORDER) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("REORDERED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("ARCHIVE CONTENT CHANGED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_SOURCEATTACHED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("SOURCE ATTACHED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_SOURCEDETACHED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("SOURCE DETACHED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_FINE_GRAINED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("FINE GRAINED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_PRIMARY_WORKING_COPY) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("PRIMARY WORKING COPY"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("RAW CLASSPATH CHANGED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("RESOLVED CLASSPATH CHANGED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_PRIMARY_RESOURCE) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("PRIMARY RESOURCE"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_OPENED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("OPENED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_CLOSED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("CLOSED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_AST_AFFECTED) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("AST AFFECTED"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_CATEGORIES) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("CATEGORIES"); //$NON-NLS-1$
        prev = true;
    }
    if ((flags & IJavaElementDelta.F_ANNOTATIONS) != 0) {
        if (prev)
            buffer.append(" | "); //$NON-NLS-1$
        buffer.append("ANNOTATIONS"); //$NON-NLS-1$
        prev = true;
    }
    return prev;
}

From source file:com.redhat.ceylon.eclipse.code.explorer.PackageExplorerContentProvider.java

License:Open Source License

/**
 * Processes a delta recursively. When more than two children are affected the
 * tree is fully refreshed starting at this node.
 *
 * @param delta the delta to process//from   ww  w. java  2 s .  com
 * @param runnables the resulting view changes as runnables (type {@link Runnable})
 * @return true is returned if the conclusion is to refresh a parent of an element. In that case no siblings need
 * to be processed
 * @throws JavaModelException thrown when the access to an element failed
 */
private boolean processDelta(IJavaElementDelta delta, Collection<Runnable> runnables)
        throws JavaModelException {

    int kind = delta.getKind();
    int flags = delta.getFlags();
    IJavaElement element = delta.getElement();
    int elementType = element.getElementType();

    if (elementType != IJavaElement.JAVA_MODEL && elementType != IJavaElement.JAVA_PROJECT) {
        IJavaProject proj = element.getJavaProject();
        if (proj == null || !proj.getProject().isOpen()) // TODO: Not needed if parent already did the 'open' check!
            return false;
    }

    if (elementType == IJavaElement.PACKAGE_FRAGMENT) {
        if ((flags & (IJavaElementDelta.F_CONTENT
                | IJavaElementDelta.F_CHILDREN)) == IJavaElementDelta.F_CONTENT) {
            // TODO: This should never be true for folders (F_CONTENT is only for files)
            if (!fIsFlatLayout) {
                Object parent = getHierarchicalPackageParent((IPackageFragment) element);
                if (!(parent instanceof IPackageFragmentRoot)) {
                    postRefresh(internalGetParent(parent), GRANT_PARENT, element, runnables);
                    return true;
                }
            }
            // content change, without children info (for example resource added/removed to class folder package)
            postRefresh(internalGetParent(element), PARENT, element, runnables);
            return true;
        }

        if (!fIsFlatLayout) {
            if (kind == IJavaElementDelta.REMOVED) {
                final Object parent = getHierarchicalPackageParent((IPackageFragment) element);
                if (parent instanceof IPackageFragmentRoot) {
                    postRemove(element, runnables);
                    return false;
                } else {
                    postRefresh(internalGetParent(parent), GRANT_PARENT, element, runnables);
                    return true;
                }
            } else if (kind == IJavaElementDelta.ADDED) {
                final Object parent = getHierarchicalPackageParent((IPackageFragment) element);
                if (parent instanceof IPackageFragmentRoot) {
                    if (fFoldPackages) {
                        postRefresh(parent, PARENT, element, runnables);
                        return true;
                    } else {
                        postAdd(parent, element, runnables);
                        return false;
                    }
                } else {
                    postRefresh(internalGetParent(parent), GRANT_PARENT, element, runnables);
                    return true;
                }
            }
            handleAffectedChildren(delta, element, runnables);
            return false;
        }
    }

    if (elementType == IJavaElement.COMPILATION_UNIT) {
        ICompilationUnit cu = (ICompilationUnit) element;
        if (!JavaModelUtil.isPrimary(cu)) {
            return false;
        }

        if (!getProvideMembers() && cu.isWorkingCopy() && kind == IJavaElementDelta.CHANGED) {
            return false;
        }

        if (kind == IJavaElementDelta.CHANGED && !isStructuralCUChange(flags)) {
            return false; // test moved ahead
        }

        if (!isOnClassPath(cu)) { // TODO: isOnClassPath expensive! Should be put after all cheap tests
            return false;
        }

    }

    if (elementType == IJavaElement.JAVA_PROJECT) {
        // handle open and closing of a project
        if ((flags & (IJavaElementDelta.F_CLOSED | IJavaElementDelta.F_OPENED)) != 0) {
            postRefresh(element, ORIGINAL, element, runnables);
            return false;
        }
        // if the class path has changed we refresh the entire project
        if ((flags & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0) {
            postRefresh(element, ORIGINAL, element, runnables);
            return false;
        }
        // if added it could be that the corresponding IProject is already shown. Remove it first.
        // bug 184296
        if (kind == IJavaElementDelta.ADDED) {
            postRemove(element.getResource(), runnables);
            postAdd(element.getParent(), element, runnables);
            return false;
        }
    }

    if (kind == IJavaElementDelta.REMOVED) {
        Object parent = internalGetParent(element);
        if (element instanceof IPackageFragment) {
            // refresh package fragment root to allow filtering empty (parent) packages: bug 72923
            if (fViewer.testFindItem(parent) != null)
                postRefresh(parent, PARENT, element, runnables);
            return true;

        } else if (element instanceof IPackageFragmentRoot) {
            // libs and class folders can show up twice (in library container and as resource at original location)
            IResource resource = element.getResource();
            if (resource != null && !resource.exists())
                postRemove(resource, runnables);
        }

        postRemove(element, runnables);
        if (parent instanceof IPackageFragment)
            postUpdateIcon((IPackageFragment) parent, runnables);
        // we are filtering out empty subpackages, so we
        // a package becomes empty we remove it from the viewer.
        if (isPackageFragmentEmpty(element.getParent())) {
            if (fViewer.testFindItem(parent) != null)
                postRefresh(internalGetParent(parent), GRANT_PARENT, element, runnables);
            return true;
        }
        return false;
    }

    if (kind == IJavaElementDelta.ADDED) {
        Object parent = internalGetParent(element);
        // we are filtering out empty subpackages, so we
        // have to handle additions to them specially.
        if (parent instanceof IPackageFragment) {
            Object grandparent = internalGetParent(parent);
            // 1GE8SI6: ITPJUI:WIN98 - Rename is not shown in Packages View
            // avoid posting a refresh to an invisible parent
            if (parent.equals(fInput)) {
                postRefresh(parent, PARENT, element, runnables);
            } else {
                // refresh from grandparent if parent isn't visible yet
                if (fViewer.testFindItem(parent) == null)
                    postRefresh(grandparent, GRANT_PARENT, element, runnables);
                else {
                    postRefresh(parent, PARENT, element, runnables);
                }
            }
            return true;
        } else {
            if (element instanceof IPackageFragmentRoot
                    && ((IPackageFragmentRoot) element).getKind() != IPackageFragmentRoot.K_SOURCE) {
                // libs and class folders can show up twice (in library container or under project, and as resource at original location)
                IResource resource = element.getResource();
                if (resource != null) {
                    Object resourceParent = super.internalGetParent(resource);
                    if (resourceParent != null) {
                        IJavaProject proj = element.getJavaProject();
                        if (fShowLibrariesNode || !resourceParent.equals(proj)) {
                            postAdd(resourceParent, resource, runnables);
                        }
                    }
                }
            }
            postAdd(parent, element, runnables);
        }
    }

    if (elementType == IJavaElement.COMPILATION_UNIT || elementType == IJavaElement.CLASS_FILE) {
        if (kind == IJavaElementDelta.CHANGED) {
            // isStructuralCUChange already performed above
            postRefresh(element, ORIGINAL, element, runnables);
        }
        return false;
    }

    if (elementType == IJavaElement.PACKAGE_FRAGMENT_ROOT) {
        // the contents of an external JAR has changed
        if ((flags & IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED) != 0) {
            postRefresh(element, ORIGINAL, element, runnables);
            return false;
        }
        if ((flags & (IJavaElementDelta.F_CONTENT
                | IJavaElementDelta.F_CHILDREN)) == IJavaElementDelta.F_CONTENT) {
            // TODO: This should never be true for folders (F_CONTENT is only for files)
            // content change, without children info (for example resource added/removed to class folder package)
            postRefresh(internalGetParent(element), PARENT, element, runnables);
            return true;
        }

        // the source attachment of a JAR has changed
        if ((flags & (IJavaElementDelta.F_SOURCEATTACHED | IJavaElementDelta.F_SOURCEDETACHED)) != 0)
            postUpdateIcon(element, runnables);

        if (isClassPathChange(delta)) {
            // throw the towel and do a full refresh of the affected java project.
            postRefresh(element.getJavaProject(), PROJECT, element, runnables);
            return true;
        }
    }

    handleAffectedChildren(delta, element, runnables);
    return false;
}

From source file:com.redhat.ceylon.eclipse.code.explorer.PackageExplorerContentProvider.java

License:Open Source License

private static boolean isStructuralCUChange(int flags) {
    // No refresh on working copy creation (F_PRIMARY_WORKING_COPY)
    return (flags & IJavaElementDelta.F_CHILDREN) != 0 || (flags
            & (IJavaElementDelta.F_CONTENT | IJavaElementDelta.F_FINE_GRAINED)) == IJavaElementDelta.F_CONTENT;
}

From source file:com.technophobia.eclipse.project.cache.listener.AbstractJavaProjectEventListener.java

License:Open Source License

private void findNodesOfType(final int type, final IJavaElementDelta delta,
        final List<IJavaElementDelta> nodes) {
    if (delta.getKind() == type) {
        nodes.add(delta);//  ww  w .  j  a v a 2s  . co m
    }

    if ((delta.getFlags() & IJavaElementDelta.F_CHILDREN) == IJavaElementDelta.F_CHILDREN) {
        for (final IJavaElementDelta child : delta.getAffectedChildren()) {
            findNodesOfType(type, child, nodes);
        }
    }
}

From source file:com.technophobia.eclipse.project.cache.listener.ClassFileChangedListener.java

License:Open Source License

private void findChangeNodes(final IJavaElementDelta delta, final Collection<IJavaElementDelta> changeNodes) {
    if (hasFlag(IJavaElementDelta.CHANGED, delta.getKind())) {
        final int flags = delta.getFlags();

        if (hasFlag(IJavaElementDelta.F_CONTENT, flags)) {
            changeNodes.add(delta);/*from ww w  .j a  va2 s  . c o m*/
        } else if (hasFlag(IJavaElementDelta.F_CHILDREN, flags)) {
            for (final IJavaElementDelta child : delta.getAffectedChildren()) {
                findChangeNodes(child, changeNodes);
            }
        }
    }
}

From source file:de.fu_berlin.inf.jtourbus.view.TourChangeListener.java

License:Open Source License

void visitInternal(IProgressMonitor pm, IJavaElementDelta delta) {

    IJavaElement elem = delta.getElement();
    IJavaElementDelta[] children = delta.getAffectedChildren();

    if (pm != null)
        pm.beginTask("", children.length + 2);

    if ((delta.getFlags() & IJavaElementDelta.F_CHILDREN) != 0) {

        if (delta.getKind() != IJavaElementDelta.CHANGED) {
            throw new RuntimeException("ASSERT: CHILDREN should always be CHANGE");
        }/*from w  ww  .  j a va 2s .  com*/

        for (int i = 0; i < children.length; i++) {
            visit(pm, children[i]);
        }
        return;
    }

    switch (delta.getKind()) {
    case IJavaElementDelta.ADDED: {
        if (!((delta.getFlags() & IJavaElementDelta.F_CHILDREN) == 0))
            throw new RuntimeException("ASSERT: ADDED has no children");

        switch (elem.getElementType()) {
        case IJavaElement.JAVA_MODEL:
            throw new RuntimeException("ASSERT: Adding Java Model not possible");
        case IJavaElement.JAVA_PROJECT:
            throw new RuntimeException("ASSERT: Adding Java Project not possible");
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
            // The user added a source folder

            for (BusStop bs : Utilities.findJTourBusStops(pm, elem.getResource()))
                fContentProvider.fTourPlan.add(bs);
            return;
        case IJavaElement.PACKAGE_FRAGMENT:
            // The user inserted a packaged

            for (BusStop bs : Utilities.findJTourBusStops(pm, elem.getResource()))
                fContentProvider.fTourPlan.add(bs);
            return;
        case IJavaElement.COMPILATION_UNIT: {
            ICompilationUnit cu = (ICompilationUnit) elem;
            if (cu.getPrimary().equals(cu)) {
                for (BusStop bs : Utilities.findJTourBusStops(pm, elem.getResource()))
                    fContentProvider.fTourPlan.add(bs);
            }
            return;
        }
        default:
            ICompilationUnit cu = (ICompilationUnit) delta.getElement()
                    .getAncestor(IJavaElement.COMPILATION_UNIT);

            redoCU(cu, pm);
            return;
        }
    }
    case IJavaElementDelta.REMOVED:
        if (!((delta.getFlags() & IJavaElementDelta.F_CHILDREN) == 0))
            throw new RuntimeException("REMOVED has children");

        switch (elem.getElementType()) {
        case IJavaElement.JAVA_MODEL:
            throw new RuntimeException("ASSERT: Java Model not possible");
        case IJavaElement.JAVA_PROJECT:
            fContentProvider.fTourPlan.removeAll();
            return;
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        case IJavaElement.PACKAGE_FRAGMENT:
            fContentProvider.fTourPlan.removeAll();

            for (BusStop bs : Utilities.findJTourBusStops(pm, elem.getJavaProject().getResource()))
                fContentProvider.fTourPlan.add(bs);

            return;
        case IJavaElement.COMPILATION_UNIT: {
            ICompilationUnit cu = (ICompilationUnit) elem;
            if (cu.getPrimary().equals(cu)) {
                fContentProvider.fTourPlan.removeCU(cu);
            }
            return;
        }
        default: {
            ICompilationUnit cu = (ICompilationUnit) delta.getElement()
                    .getAncestor(IJavaElement.COMPILATION_UNIT);

            redoCU(cu, pm);
            return;
        }
        }
    case IJavaElementDelta.CHANGED:
        // F_CONTENT && F_FINE_GRAINED
        if ((delta.getFlags() & IJavaElementDelta.F_CONTENT) != 0
                && (delta.getFlags() & IJavaElementDelta.F_FINE_GRAINED) != 0) {

            ICompilationUnit cu = (ICompilationUnit) delta.getElement()
                    .getAncestor(IJavaElement.COMPILATION_UNIT);

            redoCU(cu, pm);
        }

        // Closing without saving will trigger this event. We thus re-read
        // the file.
        if ((delta.getFlags() & IJavaElementDelta.F_PRIMARY_WORKING_COPY) != 0) {

            ICompilationUnit cu = (ICompilationUnit) delta.getElement();

            /* FIXME */

            redoCU(cu, pm);
        }
        break;
    }
}

From source file:de.fu_berlin.inf.jtourbus.view.TourChangeListener.java

License:Open Source License

public void elementChanged(final ElementChangedEvent event) {

    try {/*from   ww w  .ja  v  a  2 s.c o  m*/
        try {

            // If we don't have a project, we don't need updating
            if (fContentProvider.fProject == null)
                return;

            IJavaElementDelta delta = event.getDelta();

            // As a first step filter out all deltas that don't correspond
            // to the project we are monitoring
            if (delta.getElement().getElementType() == IJavaElement.JAVA_MODEL) {

                // ASSERT - There are no elementChanged events on the java
                // model itself
                if ((delta.getFlags() & IJavaElementDelta.F_CHILDREN) == 0
                        || (delta.getKind() != IJavaElementDelta.CHANGED)) {
                    throw new RuntimeException("JavaModel assertion failed - 1");
                }

                IJavaElementDelta[] children = delta.getAffectedChildren();
                for (int i = 0; i < children.length; i++) {
                    // ASSERT - The model contains projects
                    if (children[i].getElement().getElementType() != IJavaElement.JAVA_PROJECT) {
                        throw new RuntimeException("JavaModel assertion failed - 2");
                    }
                    if (JTourBusPlugin.ALL_PROJECTS
                            || fContentProvider.fProject.equals(children[i].getElement())) {
                        visit(null, children[i]);
                    }
                }
            } else {

                // ASSERT - Everything else but the model has a project
                if (delta.getElement().getJavaProject() == null) {
                    throw new RuntimeException("JavaModel assertion failed - 3");
                }

                if (JTourBusPlugin.ALL_PROJECTS
                        || fContentProvider.fProject.equals(delta.getElement().getJavaProject()))
                    visit(null, delta);
            }

            if (!fContentProvider.fViewer.getControl().isDisposed()) {
                Display display = fContentProvider.fViewer.getControl().getDisplay();

                if (!display.isDisposed()) {
                    display.asyncExec(new Runnable() {
                        public void run() {
                            // make sure the tree still exists
                            if (fContentProvider.fViewer != null
                                    && fContentProvider.fViewer.getControl().isDisposed())
                                return;
                            fContentProvider.fViewer.refresh();
                            if (newBusStop != null) {
                                fContentProvider.fViewer.setSelection(new StructuredSelection(newBusStop));
                            }
                            newBusStop = null;
                        }
                    });
                }
            }
        } catch (RuntimeException e) {
            e.printStackTrace();
            throw e;
        }
    } finally {
        notifyView = false;
    }
}

From source file:edu.rice.cs.drjava.plugins.eclipse.repl.EclipseInteractionsModel.java

License:BSD License

/** Walks the tree of deltas, looking for changes to the classpath or compilation units.
  * @param delta Tree to search// w  w  w  .java  2s  .c o  m
  * @param depth Current depth of original tree. Pass 0 on the first call.
  */
protected void _visitDelta(IJavaElementDelta delta, int depth) {
    int kind = delta.getKind();
    //   int flags = delta.getFlags();
    IJavaElement element = delta.getElement();

    //   System.out.println("\nVisiting: " + delta);
    //   System.out.println("depth: " + depth);
    //   System.out.println("kind: " + kind);
    //   System.out.println("flags: " + flags);
    //   System.out.println("Class: " + delta.getClass());
    //   System.out.println("Element class: " + delta.getElement().getClass());

    //   if ((flags & IJavaElementDelta.F_CONTENT) != 0) {
    //     System.out.println("Change is in the content.");
    //   }

    // If the element is a changed compilation unit, we should notify
    // the user to reset.  This happens on every save, so we don't want
    // to reset automatically.
    if (_isCompilationUnit(element) && (kind == IJavaElementDelta.CHANGED)) {
        // Class files have changed
        _warnUserToReset();
    }

    // Case: has children
    if ((delta.getFlags() & IJavaElementDelta.F_CHILDREN) != 0) {
        IJavaElementDelta[] children = delta.getAffectedChildren();
        //System.out.println("visiting " + children.length + " children...");
        for (int i = 0; i < children.length; i++) {
            _visitDelta(children[i], depth + 1);
        }
    }

    // Case: project opened
    else if (kind == IJavaElementDelta.ADDED) {
        if (element instanceof IJavaProject) {
            try {
                _addProjectToClasspath((IJavaProject) element);
            } catch (CoreException e) {
                throw new UnexpectedException(e);
            }
        }
    }

    /*
     // Case: added to classpath
     else if ((delta.getFlags() & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0) {
     System.out.println("looking at add classpath delta...");
     if (delta.getElement() instanceof IPackageFragmentRoot) {
     System.out.println("Element is an IPackageFragmentRoot");
     }
     System.out.println("element: " + delta.getElement());
     }
             
     // Case: removed from classpath
     else if ((delta.getFlags() & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0) {
     System.out.println("looking at remove classpath delta...");
     if (delta.getElement() instanceof IPackageFragmentRoot) {
     System.out.println("Element is an IPackageFragmentRoot");
     }
     System.out.println("element: " + delta.getElement());
     }
     */

    // Otherwise, ignore
}

From source file:net.rim.ejde.internal.core.BasicClasspathElementChangedListener.java

License:Open Source License

/**
 * Does the delta indicate a classpath change?
 *
 * @param delta/*w  w  w .  java 2 s.  c om*/
 *            the delta to inspect
 * @return true if classpath has changed
 */
private boolean isClasspathChange(IJavaElementDelta delta) {
    int flags = delta.getFlags();
    if (isClasspathChangeFlag(flags))
        return true;

    if ((flags & IJavaElementDelta.F_CHILDREN) != 0) {
        IJavaElementDelta[] children = delta.getAffectedChildren();
        for (IJavaElementDelta element : children) {
            if (isClasspathChangeFlag(element.getFlags()))
                return true;
        }
    }

    return false;
}

From source file:org.eclipse.fx.ide.css.cssext.ui.adapter.ExtensionRegistry.java

License:Open Source License

private void recCheckChangedExtensions(IJavaElementDelta d, List<URI> changedExtensions) {
    if (IJavaElementDelta.F_CONTENT == (IJavaElementDelta.F_CONTENT & d.getFlags())) {
        // content change
        for (IResourceDelta rd : d.getResourceDeltas()) {
            final IResource res = rd.getResource();
            if ("cssext".equals(res.getFileExtension())) { //$NON-NLS-1$
                changedExtensions.add(URI.createPlatformResourceURI(
                        res.getProject().getName() + "/" + res.getProjectRelativePath().toString(), true)); //$NON-NLS-1$
            }//from   w  w w .j a va 2  s . c  o  m
        }
    }
    if (IJavaElementDelta.F_CHILDREN == (IJavaElementDelta.F_CHILDREN & d.getFlags())) {
        // check children
        for (IJavaElementDelta child : d.getChangedChildren()) {
            recCheckChangedExtensions(child, changedExtensions);
        }
    }

}