Example usage for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT

List of usage examples for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT.

Prototype

int PACKAGE_FRAGMENT_ROOT

To view the source code for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT.

Click Source Link

Document

Constant representing a package fragment root.

Usage

From source file:org.eclipse.jdt.internal.core.JavaModelManager.java

License:Open Source License

public synchronized Object removeInfoAndChildren(JavaElement element) throws JavaModelException {
    Object info = this.cache.peekAtInfo(element);
    if (info != null) {
        boolean wasVerbose = false;
        try {/*from w w w  .  j a  va2s .  c  o  m*/
            if (JavaModelCache.VERBOSE) {
                String elementType;
                switch (element.getElementType()) {
                case IJavaElement.JAVA_PROJECT:
                    elementType = "project"; //$NON-NLS-1$
                    break;
                case IJavaElement.PACKAGE_FRAGMENT_ROOT:
                    elementType = "root"; //$NON-NLS-1$
                    break;
                case IJavaElement.PACKAGE_FRAGMENT:
                    elementType = "package"; //$NON-NLS-1$
                    break;
                case IJavaElement.CLASS_FILE:
                    elementType = "class file"; //$NON-NLS-1$
                    break;
                case IJavaElement.COMPILATION_UNIT:
                    elementType = "compilation unit"; //$NON-NLS-1$
                    break;
                default:
                    elementType = "element"; //$NON-NLS-1$
                }
                System.out.println(Thread.currentThread() + " CLOSING " + elementType + " " //$NON-NLS-1$//$NON-NLS-2$
                        + element.toStringWithAncestors());
                wasVerbose = true;
                JavaModelCache.VERBOSE = false;
            }
            element.closing(info);
            if (element instanceof IParent) {
                closeChildren(info);
            }
            this.cache.removeInfo(element);
            if (wasVerbose) {
                System.out.println(this.cache.toStringFillingRation("-> ")); //$NON-NLS-1$
            }
        } finally {
            JavaModelCache.VERBOSE = wasVerbose;
        }
        return info;
    }
    return null;
}

From source file:org.eclipse.jdt.internal.core.JavaProject.java

License:Open Source License

public boolean isOnClasspath(IJavaElement element) {
    IClasspathEntry[] rawClasspath;//from ww w.  ja v a2  s  .  com
    try {
        rawClasspath = getRawClasspath();
    } catch (JavaModelException e) {
        return false; // not a Java project
    }
    int elementType = element.getElementType();
    boolean isPackageFragmentRoot = false;
    boolean isFolderPath = false;
    boolean isSource = false;
    switch (elementType) {
    case IJavaElement.JAVA_MODEL:
        return false;
    case IJavaElement.JAVA_PROJECT:
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        isPackageFragmentRoot = true;
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        isFolderPath = !((IPackageFragmentRoot) element.getParent()).isArchive();
        break;
    case IJavaElement.COMPILATION_UNIT:
        isSource = true;
        break;
    default:
        isSource = element.getAncestor(IJavaElement.COMPILATION_UNIT) != null;
        break;
    }
    IPath elementPath = element.getPath();

    // first look at unresolved entries
    int length = rawClasspath.length;
    for (int i = 0; i < length; i++) {
        IClasspathEntry entry = rawClasspath[i];
        switch (entry.getEntryKind()) {
        case IClasspathEntry.CPE_LIBRARY:
        case IClasspathEntry.CPE_PROJECT:
        case IClasspathEntry.CPE_SOURCE:
            if (isOnClasspathEntry(elementPath, isFolderPath, isPackageFragmentRoot, entry))
                return true;
            break;
        }
    }

    // no need to go further for compilation units and elements inside a compilation unit
    // it can only be in a source folder, thus on the raw classpath
    if (isSource)
        return false;

    // https://bugs.eclipse.org/bugs/show_bug.cgi?id=304081
    // All the resolved classpath entries need to be considered, including the referenced classpath entries
    IClasspathEntry[] resolvedClasspath = null;
    try {
        resolvedClasspath = getResolvedClasspath();
    } catch (JavaModelException e) {
        return false; // Perhaps, not a Java project
    }

    for (int index = 0; index < resolvedClasspath.length; index++) {
        if (isOnClasspathEntry(elementPath, isFolderPath, isPackageFragmentRoot, resolvedClasspath[index]))
            return true;
    }

    return false;
}

From source file:org.eclipse.jem.internal.beaninfo.core.BeanInfoCacheController.java

License:Open Source License

private RootIndex getRootIndex(IType type) {
    IPackageFragmentRoot root = (IPackageFragmentRoot) type.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
    if (!root.isExternal()) {
        // So it is in a project. Get the project index.
        return getRootIndex(root, root.getJavaProject().getProject());
    } else {//  www  .j av a 2  s.c om
        // It is an external jar (archive), so needs to come from main index, no project.
        return getRootIndex(root, null);
    }
}

From source file:org.eclipse.jem.workbench.utility.JavaModelListener.java

License:Open Source License

/**
 * Dispatch the java element delta. This method should normally not be overridden. One
 * usage would be to add delta types that are to be processed and dispatched by the
 * subclasses. For example also dispatch on {@link IJavaElement#IMPORT_CONTAINER}. Subclasses
 * should call <code>super.processDelta(IJavaElementDelta)</code> if it is not one they
 * are interested in.//from   w  w  w  .  ja  v a 2 s. c  o  m
 * 
 * @param delta
 * 
 * @since 1.2.0
 */
public void processDelta(IJavaElementDelta delta) {
    IJavaElement element = delta.getElement();
    // if the class path has changed we refresh the resolved container cache
    int flags = delta.getFlags();
    if (((flags & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0) && !resolvedContainers.isEmpty()) {
        resolvedContainers.clear();
    }

    switch (element.getElementType()) {
    case IJavaElement.JAVA_MODEL:
        processJavaElementChanged((IJavaModel) element, delta);
        break;
    case IJavaElement.JAVA_PROJECT:
        processJavaElementChanged((IJavaProject) element, delta);
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        processJavaElementChanged((IPackageFragmentRoot) element, delta);
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        processJavaElementChanged((IPackageFragment) element, delta);
        break;
    case IJavaElement.COMPILATION_UNIT:
        processJavaElementChanged((ICompilationUnit) element, delta);
        processContentChanged(delta);
        break;
    case IJavaElement.CLASS_FILE:
        processJavaElementChanged((IClassFile) element, delta);
        break;
    case IJavaElement.TYPE:
        processJavaElementChanged((IType) element, delta);
        break;
    // Note: if we are to update the Method/Field adapters, we should process the
    // IJavaElement.METHOD and IJavaElement.FIELD
    }
}

From source file:org.eclipse.jpt.common.core.internal.resource.java.binary.BinaryAbstractType.java

License:Open Source License

private IPackageFragmentRoot getSourceFolder() {
    return (IPackageFragmentRoot) getElement().getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
}

From source file:org.eclipse.jpt.common.core.internal.resource.java.source.SourceAbstractType.java

License:Open Source License

private IPackageFragmentRoot getSourceFolder() {
    return (IPackageFragmentRoot) this.getJavaResourceCompilationUnit().getCompilationUnit()
            .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
}

From source file:org.eclipse.jpt.common.core.tests.internal.resource.java.JavaResourceModelTestCase.java

License:Open Source License

/**
 * NB: this is copied from GenericJpaProject, so it might need to be
 * kept in synch with that code if it changes... yech...
 *///from  ww w.  ja v a  2 s. co  m
protected void syncWithJavaDelta(IJavaElementDelta delta) {
    switch (delta.getElement().getElementType()) {
    case IJavaElement.JAVA_MODEL:
    case IJavaElement.JAVA_PROJECT:
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
    case IJavaElement.PACKAGE_FRAGMENT:
        this.syncWithJavaDeltaChildren(delta);
        break;
    case IJavaElement.COMPILATION_UNIT:
        this.javaCompilationUnitChanged(delta);
        break;
    default:
        break; // ignore the elements inside a compilation unit
    }
}

From source file:org.eclipse.jpt.jaxb.core.internal.AbstractJaxbProject.java

License:Open Source License

/**
 * We recurse back here from {@link #processJavaDeltaChildren(IJavaElementDelta)}.
 *///from   w  w  w  .j a  va  2s .  c  om
protected void processJavaDelta(IJavaElementDelta delta) {
    switch (delta.getElement().getElementType()) {
    case IJavaElement.JAVA_MODEL:
        this.processJavaModelDelta(delta);
        break;
    case IJavaElement.JAVA_PROJECT:
        this.processJavaProjectDelta(delta);
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        this.processJavaPackageFragmentRootDelta(delta);
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        this.processJavaPackageFragmentDelta(delta);
        break;
    case IJavaElement.COMPILATION_UNIT:
        this.processJavaCompilationUnitDelta(delta);
        break;
    default:
        break; // ignore the elements inside a compilation unit
    }
}

From source file:org.eclipse.jpt.jaxb.ui.internal.filters.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);
    }/*  w  ww  .  j ava 2  s . c om*/
    return !isContainer;
}

From source file:org.eclipse.jpt.jaxb.ui.internal.filters.NonContainerFilter.java

License:Open Source License

@Override
public boolean select(Viewer viewer, Object parent, Object element) {
    boolean isContainer = element instanceof IContainer;
    int type;//from   www .ja  v  a 2s . co  m
    if (!isContainer && element instanceof IJavaElement) {
        type = ((IJavaElement) element).getElementType();
        isContainer = (type == IJavaElement.JAVA_MODEL || type == IJavaElement.JAVA_PROJECT
                || type == IJavaElement.PACKAGE_FRAGMENT || type == IJavaElement.PACKAGE_FRAGMENT_ROOT);
    }
    if (isContainer && (element instanceof IJavaElement)) {
        type = ((IJavaElement) element).getElementType();
        if (type == IJavaElement.JAVA_PROJECT) {
            String projectName = ((IJavaProject) element).getElementName();
            return projectName.equals(this.projectName);
        }
    }
    return isContainer;
}