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

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

Introduction

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

Prototype

int PACKAGE_FRAGMENT

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

Click Source Link

Document

Constant representing a package fragment.

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  ww . j a va2 s  . 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   w  ww .  j  av a 2s. c  om
    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.jdt.internal.core.search.matching.MatchLocator.java

License:Open Source License

private boolean filterEnum(SearchMatch match) {

    // filter org.apache.commons.lang.enum package for projects above 1.5 
    // https://bugs.eclipse.org/bugs/show_bug.cgi?id=317264   
    IJavaElement element = (IJavaElement) match.getElement();
    PackageFragment pkg = (PackageFragment) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT);
    if (pkg != null) {
        // enum was found in org.apache.commons.lang.enum at index 5
        if (pkg.names.length == 5 && pkg.names[4].equals("enum")) { //$NON-NLS-1$
            if (this.options == null) {
                IJavaProject proj = (IJavaProject) pkg.getAncestor(IJavaElement.JAVA_PROJECT);
                String complianceStr = proj.getOption(CompilerOptions.OPTION_Source, true);
                if (CompilerOptions.versionToJdkLevel(complianceStr) >= ClassFileConstants.JDK1_5)
                    return true;
            } else if (this.options.sourceLevel >= ClassFileConstants.JDK1_5) {
                return true;
            }/*from  w  w w  .  ja v  a 2s. c  o m*/
        }
    }
    return false;
}

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   www.jav a2 s .  c  om*/
 * 
 * @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.utility.JavaProjectTools.java

License:Open Source License

private static Iterable<IType> getTypes_(IJavaProject javaProject) throws JavaModelException {
    List<IType> typesList = new ArrayList<IType>();
    IPackageFragmentRoot[] pkgRoots = javaProject.getAllPackageFragmentRoots();
    for (IPackageFragmentRoot root : pkgRoots) {
        IJavaElement[] jElements = root.getChildren();
        for (IJavaElement jElement : jElements) {
            if (jElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
                ICompilationUnit[] units = ((IPackageFragment) jElement).getCompilationUnits();
                for (ICompilationUnit unit : units) {
                    CollectionTools.addAll(typesList, unit.getTypes());
                }//from  w  w  w.  j  a v  a2 s. c  o m
            }
        }
    }
    return typesList;
}

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  w  w w .j  a v a 2 s .  c  om*/
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 av  a 2  s .  co  m*/
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.core.internal.resource.AbstractJaxbFileResourceModel.java

License:Open Source License

protected String buildPackageName_() {
    IJavaElement javaElement = JavaCore.create(this.file.getParent());
    if ((javaElement != null) && (javaElement.getElementType() == IJavaElement.PACKAGE_FRAGMENT)) {
        return ((IPackageFragment) javaElement).getElementName();
    }/*from   ww  w  .  jav  a 2s  .  c  om*/
    return null;
}

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  w w.j a  va 2s. 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;/*www  . j a v a 2  s . c o 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;
}