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

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

Introduction

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

Prototype

int JAVA_MODEL

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

Click Source Link

Document

Constant representing a Java model (workspace level object).

Usage

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

License:Open Source License

/**
 * Remember the info for the element./*from   ww w. j  a v a  2 s  .c  o m*/
 */
protected void putInfo(IJavaElement element, Object info) {
    switch (element.getElementType()) {
    case IJavaElement.JAVA_MODEL:
        this.modelInfo = info;
        break;
    case IJavaElement.JAVA_PROJECT:
        this.projectCache.put(element, info);
        this.rootCache.ensureSpaceLimit(info, element);
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        this.rootCache.put(element, info);
        this.pkgCache.ensureSpaceLimit(info, element);
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        this.pkgCache.put(element, info);
        this.openableCache.ensureSpaceLimit(info, element);
        break;
    case IJavaElement.COMPILATION_UNIT:
    case IJavaElement.CLASS_FILE:
        this.openableCache.put(element, info);
        break;
    default:
        this.childrenCache.put(element, info);
    }
}

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

License:Open Source License

/**
 * Removes the info of the element from the cache.
 *///w  w w.  j  a va 2s  .c o  m
protected void removeInfo(JavaElement element) {
    switch (element.getElementType()) {
    case IJavaElement.JAVA_MODEL:
        this.modelInfo = null;
        break;
    case IJavaElement.JAVA_PROJECT:
        this.projectCache.remove(element);
        this.rootCache.resetSpaceLimit((int) (DEFAULT_ROOT_SIZE * getMemoryRatio()), element);
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        this.rootCache.remove(element);
        this.pkgCache.resetSpaceLimit((int) (DEFAULT_PKG_SIZE * getMemoryRatio()), element);
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        this.pkgCache.remove(element);
        this.openableCache.resetSpaceLimit(
                (int) (DEFAULT_OPENABLE_SIZE * getMemoryRatio() * getOpenableRatio()), element);
        break;
    case IJavaElement.COMPILATION_UNIT:
    case IJavaElement.CLASS_FILE:
        this.openableCache.remove(element);
        break;
    default:
        this.childrenCache.remove(element);
    }
}

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

License:Open Source License

/**
 * Generic processing for a removed element:<ul>
 * <li>Close the element, removing its structure from the cache
 * <li>Remove the element from its parent's cache of children
 * <li>Add a REMOVED entry in the delta
 * </ul>/*from   w  ww.j ava 2s.  c  om*/
 */
protected void elementRemoved(Openable element) {

    if (element.isOpen()) {
        close(element);
    }
    removeFromParentInfo(element);
    int elementType = element.getElementType();

    switch (elementType) {
    case IJavaElement.JAVA_MODEL:
        element.manager.getIndexManager().reset();
        break;
    case IJavaElement.JAVA_PROJECT:
        JavaModelManager manager = element.manager;
        JavaProject javaProject = (JavaProject) element;
        manager.removePerProjectInfo(javaProject, true /* remove external jar files indexes and timestamps*/);
        manager.containerRemove(javaProject);
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        this.projectsToUpdate.add(element.getJavaProject());
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        // get rid of package fragment cache
        JavaProject project = (JavaProject) element.getJavaProject();
        project.resetCaches();
        break;
    }
}

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

License:Open Source License

/**
 * Add an element to the java search scope.
 *
 * @param element//ww w. ja va2 s.c o  m
 *         The element we want to add to current java search scope
 * @throws org.eclipse.jdt.core.JavaModelException
 *         May happen if some Java Model info are not available
 */
public void add(IJavaElement element) throws JavaModelException {
    IPath containerPath = null;
    String containerPathToString = null;
    PackageFragmentRoot root = null;
    int includeMask = SOURCES | APPLICATION_LIBRARIES | SYSTEM_LIBRARIES;
    switch (element.getElementType()) {
    case IJavaElement.JAVA_MODEL:
        // a workspace sope should be used
        break;
    case IJavaElement.JAVA_PROJECT:
        add((JavaProject) element, null, includeMask, new HashSet(2), new HashSet(2), null);
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        root = (PackageFragmentRoot) element;
        IPath rootPath = root.internalPath();
        containerPath = root.getKind() == IPackageFragmentRoot.K_SOURCE ? root.getParent().getPath() : rootPath;
        containerPathToString = containerPath.getDevice() == null ? containerPath.toString()
                : containerPath.toOSString();
        IResource rootResource = root.resource();
        String projectPath = root.getJavaProject().getPath().toString();
        if (rootResource != null && rootResource.isAccessible()) {
            String relativePath = Util.relativePath(rootResource.getFullPath(), containerPath.segmentCount());
            add(projectPath, relativePath, containerPathToString, false/*not a package*/, null);
        } else {
            add(projectPath, "", containerPathToString, false/*not a package*/, null); //$NON-NLS-1$
        }
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        root = (PackageFragmentRoot) element.getParent();
        projectPath = root.getJavaProject().getPath().toString();
        if (root.isArchive()) {
            String relativePath = Util.concatWith(((PackageFragment) element).names, '/');
            containerPath = root.getPath();
            containerPathToString = containerPath.getDevice() == null ? containerPath.toString()
                    : containerPath.toOSString();
            add(projectPath, relativePath, containerPathToString, true/*package*/, null);
        } else {
            IResource resource = ((JavaElement) element).resource();
            if (resource != null) {
                if (resource.isAccessible()) {
                    containerPath = root.getKind() == IPackageFragmentRoot.K_SOURCE ? root.getParent().getPath()
                            : root.internalPath();
                } else {
                    // for working copies, get resource container full path
                    containerPath = resource.getParent().getFullPath();
                }
                containerPathToString = containerPath.getDevice() == null ? containerPath.toString()
                        : containerPath.toOSString();
                String relativePath = Util.relativePath(resource.getFullPath(), containerPath.segmentCount());
                add(projectPath, relativePath, containerPathToString, true/*package*/, null);
            }
        }
        break;
    default:
        // remember sub-cu (or sub-class file) java elements
        if (element instanceof IMember) {
            if (this.elements == null) {
                this.elements = new ArrayList();
            }
            this.elements.add(element);
        }
        root = (PackageFragmentRoot) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
        projectPath = root.getJavaProject().getPath().toString();
        String relativePath;
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            containerPath = root.getParent().getPath();
            relativePath = Util.relativePath(getPath(element, false/*full path*/), 1/*remove project segment*/);
        } else {
            containerPath = root.internalPath();
            relativePath = getPath(element, true/*relative path*/).toString();
        }
        containerPathToString = containerPath.getDevice() == null ? containerPath.toString()
                : containerPath.toOSString();
        add(projectPath, relativePath, containerPathToString, false/*not a package*/, null);
    }

    if (root != null)
        addEnclosingProjectOrJar(
                root.getKind() == IPackageFragmentRoot.K_SOURCE ? root.getParent().getPath() : root.getPath());
}

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

License:Open Source License

private IPath getPath(IJavaElement element, boolean relativeToRoot) {
    switch (element.getElementType()) {
    case IJavaElement.JAVA_MODEL:
        return Path.EMPTY;
    case IJavaElement.JAVA_PROJECT:
        return element.getPath();
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        if (relativeToRoot)
            return Path.EMPTY;
        return element.getPath();
    case IJavaElement.PACKAGE_FRAGMENT:
        String relativePath = Util.concatWith(((PackageFragment) element).names, '/');
        return getPath(element.getParent(), relativeToRoot).append(new Path(relativePath));
    case IJavaElement.COMPILATION_UNIT:
    case IJavaElement.CLASS_FILE:
        return getPath(element.getParent(), relativeToRoot).append(new Path(element.getElementName()));
    default://  w w w.j  a va  2 s. c  o m
        return getPath(element.getParent(), relativeToRoot);
    }
}

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 w  w .ja  v a  2s  .  com*/
    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.codenvy.ide.ext.java.server.internal.core.util.Util.java

License:Open Source License

public static final boolean isExcluded(IJavaElement element) {
    int elementType = element.getElementType();
    switch (elementType) {
    case IJavaElement.JAVA_MODEL:
    case IJavaElement.JAVA_PROJECT:
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        return false;

    case IJavaElement.PACKAGE_FRAGMENT:
        PackageFragmentRoot root = (PackageFragmentRoot) element
                .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
        File resource = ((PackageFragment) element).resource();
        return resource != null
                && isExcluded(resource, root.fullInclusionPatternChars(), root.fullExclusionPatternChars());

    case IJavaElement.COMPILATION_UNIT:
        root = (PackageFragmentRoot) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
        resource = ((CompilationUnit) element).resource();
        if (resource == null)
            return false;
        if (isExcluded(resource, root.fullInclusionPatternChars(), root.fullExclusionPatternChars()))
            return true;
        return isExcluded(element.getParent());

    default://  ww w. j  a v a2 s  .c o  m
        IJavaElement cu = element.getAncestor(IJavaElement.COMPILATION_UNIT);
        return cu != null && isExcluded(cu);
    }
}

From source file:com.ebmwebsourcing.petals.common.internal.provisional.ui.jdt.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  av  a 2  s  .co  m
    return (this.fFilterContainers && !isContainer) || (!this.fFilterContainers && isContainer);
}

From source file:com.ifedorenko.m2e.sourcelookup.internal.JavaProjectSources.java

License:Open Source License

private void processDelta(final IJavaElementDelta delta, Set<IJavaProject> remove, Set<IJavaProject> add)
        throws CoreException {
    final IJavaElement element = delta.getElement();
    final int kind = delta.getKind();
    switch (element.getElementType()) {
    case IJavaElement.JAVA_MODEL:
        processChangedChildren(delta, remove, add);
        break;/*from  w w  w .  ja  v a 2 s  .  c  o m*/
    case IJavaElement.JAVA_PROJECT:
        switch (kind) {
        case IJavaElementDelta.REMOVED:
            remove.add((IJavaProject) element);
            break;
        case IJavaElementDelta.ADDED:
            add.add((IJavaProject) element);
            break;
        case IJavaElementDelta.CHANGED:
            switch (delta.getFlags()) {
            case IJavaElementDelta.F_CLOSED:
                remove.add((IJavaProject) element);
                break;
            case IJavaElementDelta.F_OPENED:
                add.add((IJavaProject) element);
                break;
            }
            break;
        }
        processChangedChildren(delta, remove, add);
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        remove.add(element.getJavaProject());
        add.add(element.getJavaProject());
        break;
    }
}

From source file:com.liferay.ide.project.ui.wizard.LiferayDataModelWizardPage.java

License:Open Source License

protected IJavaElement getInitialJavaElement(ISelection selection) {
    IJavaElement jelem = null;//from   www. j ava2 s  .co m

    if (selection != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
        Object selectedElement = ((IStructuredSelection) selection).getFirstElement();

        jelem = getJavaElement(selectedElement);

        if (jelem == null) {
            IResource resource = getResource(selectedElement);

            if (resource != null && resource.getType() != IResource.ROOT) {
                while (jelem == null && resource.getType() != IResource.PROJECT) {
                    resource = resource.getParent();

                    jelem = (IJavaElement) resource.getAdapter(IJavaElement.class);
                }

                if (jelem == null) {
                    jelem = JavaCore.create(resource); // java project
                }
            }
        }
    }

    if (jelem == null) {
        IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();

        if (window == null) {
            return null;
        }

        IWorkbenchPart part = window.getActivePage().getActivePart();

        if (part instanceof ContentOutline) {
            part = window.getActivePage().getActiveEditor();
        }

        if (part instanceof IViewPartInputProvider) {
            Object elem = ((IViewPartInputProvider) part).getViewPartInput();

            if (elem instanceof IJavaElement) {
                jelem = (IJavaElement) elem;
            }
        }
    }

    if (jelem == null || jelem.getElementType() == IJavaElement.JAVA_MODEL) {
        try {
            IJavaProject[] projects = JavaCore.create(getWorkspaceRoot()).getJavaProjects();

            if (projects.length == 1) {
                jelem = projects[0];
            }
        } catch (JavaModelException e) {
            JavaPlugin.log(e);
        }
    }

    return jelem;
}