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

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

Introduction

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

Prototype

int COMPILATION_UNIT

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

Click Source Link

Document

Constant representing a Java compilation unit.

Usage

From source file:org.eclipse.che.plugin.java.testing.AbstractJavaTestRunner.java

License:Open Source License

private ICompilationUnit findCompilationUnitByPath(IJavaProject javaProject, String filePath) {
    try {//from  ww  w.  j a  v a2 s.  co  m
        IClasspathEntry[] resolvedClasspath = javaProject.getResolvedClasspath(false);
        IPath packageRootPath = null;
        for (IClasspathEntry classpathEntry : resolvedClasspath) {
            if (filePath.startsWith(classpathEntry.getPath().toOSString())) {
                packageRootPath = classpathEntry.getPath();
                break;
            }
        }

        if (packageRootPath == null) {
            throw getRuntimeException(filePath);
        }

        String packagePath = packageRootPath.toOSString();
        if (!packagePath.endsWith("/")) {
            packagePath += '/';
        }

        String pathToClass = filePath.substring(packagePath.length());
        IJavaElement element = javaProject.findElement(new Path(pathToClass));
        if (element != null && element.getElementType() == IJavaElement.COMPILATION_UNIT) {
            return (ICompilationUnit) element;
        } else {
            throw getRuntimeException(filePath);
        }
    } catch (JavaModelException e) {
        throw new RuntimeException("Can't find Compilation Unit.", e);
    }
}

From source file:org.eclipse.contribution.visualiser.jdtImpl.JDTContentProvider.java

License:Open Source License

/**
 * Get all JDT members for the given IPackageFragment (Java package)
 * @param PF//  w w  w .  ja v a2  s.  c o  m
 * @return List of JDTMembers
 */
public List getMembersForPackage(IPackageFragment PF) {
    List returningClasses = new LinkedList();
    try {
        if (containsUsefulStuff(PF)) {
            IJavaElement[] ijes = PF.getChildren();
            for (int j = 0; j < ijes.length; j++) {
                if (ijes[j].getElementType() == IJavaElement.COMPILATION_UNIT) {
                    String memberName = ijes[j].getElementName();
                    if (memberName.endsWith(".java")) { //$NON-NLS-1$
                        memberName = memberName.substring(0, memberName.length() - 5);
                    }
                    JDTMember member = new JDTMember(memberName, ijes[j]);
                    member.setSize(getLength((ICompilationUnit) ijes[j]));
                    returningClasses.add(member);
                }
            }
        }
    } catch (JavaModelException jme) {
        System.err.println(jme);
    }
    return returningClasses;
}

From source file:org.eclipse.contribution.visualiser.jdtImpl.JDTSearchResultsMarkupProvider.java

License:Open Source License

/**
 * Returns a list of line numbers corresponding to the search results
 * for the given IMember/*w  w  w  .  j  av a2 s  .  c o  m*/
 * 
 * @param IMember
 * @return List of Integers
 */
private List getMarkupInfo(IMember member) {

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

    List lineNumbers = new ArrayList();
    JDTMember jdtMember;
    ICompilationUnit cu = null;
    IResource r = null;
    if (member instanceof JDTMember) {
        jdtMember = (JDTMember) member;
        IJavaElement je = jdtMember.getResource();
        if (je.getElementType() == IJavaElement.COMPILATION_UNIT) {
            cu = (ICompilationUnit) je;
            try {
                r = cu.getUnderlyingResource();
            } catch (JavaModelException e) {
                e.printStackTrace();
            }
        }
    } else {
        return null;
    }

    Object[] elementsWhichMatch = javaSearchResult.getElements();
    for (int i = 0; i < elementsWhichMatch.length; i++) {
        IFile file = javaSearchResult.getFile(elementsWhichMatch[i]);
        if (file != null && (file.getFullPath().equals(r.getFullPath()))) {
            Match[] matches = javaSearchResult.computeContainedMatches(javaSearchResult, file);
            for (int j = 0; j < matches.length; j++) {
                int lineNumber = JDTUtils.getLineNumber(cu, matches[j].getOffset());
                lineNumbers.add(new Integer(lineNumber));
            }
        }
    }
    return lineNumbers;
}

From source file:org.eclipse.contribution.weaving.jdt.tests.refactoring.MockRefactoringProvider.java

License:Open Source License

public boolean isInterestingElement(IJavaElement element) {
    return element.getAncestor(IJavaElement.COMPILATION_UNIT) instanceof MockCompilationUnit;
}

From source file:org.eclipse.contribution.xref.internal.ui.utils.XRefUIUtils.java

License:Open Source License

public static List getXRefAdapterListForJavaElement(IJavaElement javaElement, boolean showParentCrosscutting) {
    List xrefAdapterList = new ArrayList();
    if (javaElement != null && !javaElement.exists()) {
        return xrefAdapterList;
    }/*from w ww  .j  a  v  a 2 s .  c om*/
    // if we've selected outside a javaElement, for example before
    // the aspect declaration, or we've opted to show crosscutting for
    // the entire file then want to return a list of everything.
    if (javaElement != null && (showParentCrosscutting || selectedOutsideJavaElement)) {

        ICompilationUnit parent = (ICompilationUnit) javaElement.getAncestor(IJavaElement.COMPILATION_UNIT);
        if (parent != null) {
            try {
                IType[] types = parent.getAllTypes();
                for (int i = 0; i < types.length; i++) {
                    if ((types[i] instanceof SourceType)
                            && (types[i].getParent() instanceof ICompilationUnit)) {
                        IAdaptable a = types[i];
                        if (a != null) {
                            xrefAdapterList.add(a.getAdapter(IXReferenceAdapter.class));
                        }
                    }
                }
            } catch (JavaModelException e) {
            }
        }
    } else {
        IAdaptable a = javaElement;
        if (a != null) {
            xrefAdapterList.add(a.getAdapter(IXReferenceAdapter.class));
        }
    }
    selectedOutsideJavaElement = false;
    return xrefAdapterList;
}

From source file:org.eclipse.e4.demo.simpleide.jdt.internal.editor.viewer.JavaElementLabelComposer.java

License:Open Source License

/**
 * Appends the label for a Java element with the flags as defined by this
 * class./*from   www  . ja va2s  .  c om*/
 * 
 * @param element
 *            the element to render
 * @param flags
 *            the rendering flags.
 */
public void appendElementLabel(IJavaElement element, long flags) {
    int type = element.getElementType();
    IPackageFragmentRoot root = null;

    if (type != IJavaElement.JAVA_MODEL && type != IJavaElement.JAVA_PROJECT
            && type != IJavaElement.PACKAGE_FRAGMENT_ROOT)
        root = JavaModelUtil.getPackageFragmentRoot(element);
    if (root != null && getFlag(flags, JavaElementLabels.PREPEND_ROOT_PATH)) {
        appendPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED);
        fBuffer.append(JavaElementLabels.CONCAT_STRING);
    }

    switch (type) {
    case IJavaElement.METHOD:
        appendMethodLabel((IMethod) element, flags);
        break;
    case IJavaElement.FIELD:
        appendFieldLabel((IField) element, flags);
        break;
    case IJavaElement.LOCAL_VARIABLE:
        appendLocalVariableLabel((ILocalVariable) element, flags);
        break;
    case IJavaElement.TYPE_PARAMETER:
        appendTypeParameterLabel((ITypeParameter) element, flags);
        break;
    case IJavaElement.INITIALIZER:
        appendInitializerLabel((IInitializer) element, flags);
        break;
    case IJavaElement.TYPE:
        appendTypeLabel((IType) element, flags);
        break;
    case IJavaElement.CLASS_FILE:
        appendClassFileLabel((IClassFile) element, flags);
        break;
    case IJavaElement.COMPILATION_UNIT:
        appendCompilationUnitLabel((ICompilationUnit) element, flags);
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        appendPackageFragmentLabel((IPackageFragment) element, flags);
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        appendPackageFragmentRootLabel((IPackageFragmentRoot) element, flags);
        break;
    case IJavaElement.IMPORT_CONTAINER:
    case IJavaElement.IMPORT_DECLARATION:
    case IJavaElement.PACKAGE_DECLARATION:
        appendDeclarationLabel(element, flags);
        break;
    case IJavaElement.JAVA_PROJECT:
    case IJavaElement.JAVA_MODEL:
        fBuffer.append(element.getElementName());
        break;
    default:
        fBuffer.append(element.getElementName());
    }

    if (root != null && getFlag(flags, JavaElementLabels.APPEND_ROOT_PATH)) {
        int offset = fBuffer.length();
        fBuffer.append(JavaElementLabels.CONCAT_STRING);
        appendPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED);

        if (getFlag(flags, JavaElementLabels.COLORIZE)) {
            fBuffer.setStyle(offset, fBuffer.length() - offset, QUALIFIER_STYLE);
        }

    }
}

From source file:org.eclipse.edt.debug.core.java.filters.WorkspaceProjectClassFilter.java

License:Open Source License

protected void processDelta(IJavaElementDelta delta) {
    IJavaElementDelta[] kids = delta.getAffectedChildren();
    if (kids == null || kids.length == 0) {
        IJavaElement element = delta.getElement();
        if (element != null && element.getElementType() == IJavaElement.COMPILATION_UNIT) {
            try {
                switch (delta.getKind()) {
                case IJavaElementDelta.ADDED:
                    compilationUnitAdded(delta, (ICompilationUnit) delta.getElement());
                    break;
                case IJavaElementDelta.REMOVED:
                    compilationUnitRemoved(delta, (ICompilationUnit) delta.getElement());
                    break;
                case IJavaElementDelta.CHANGED:
                    compilationUnitChanged(delta, (ICompilationUnit) delta.getElement());
                    break;
                }//from ww  w . ja v  a  2 s. c  o m
            } catch (JavaModelException jme) {
                EDTDebugCorePlugin.log(jme);
            }
        } else if (element != null && element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
            try {
                switch (delta.getKind()) {
                case IJavaElementDelta.ADDED:
                    packageFragmentAdded(delta, (IPackageFragment) element);
                    break;
                case IJavaElementDelta.REMOVED:
                    packageFragmentRemoved(delta, (IPackageFragment) element);
                    break;
                }
            } catch (JavaModelException jme) {
                EDTDebugCorePlugin.log(jme);
            }
        }
    } else {
        for (int i = 0; i < kids.length; i++) {
            processDelta(kids[i]);
        }
    }
}

From source file:org.eclipse.emf.cdo.releng.apireports.ApiReportsActor.java

License:Open Source License

public static ApiScope walkStructureSelection(List<Object> projects, IProgressMonitor monitor) {
    ApiScope scope = new ApiScope();
    IApiBaseline workspaceBaseline = ApiBaselineManager.getManager().getWorkspaceBaseline();
    if (workspaceBaseline == null) {
        return scope;
    }/*from  w  w w . ja va  2  s .c  o m*/

    Collections.sort(projects, new Comparator() {
        public int compare(Object o1, Object o2) {
            if (o1 instanceof IJavaElement && o2 instanceof IJavaElement) {
                IJavaElement element = (IJavaElement) o1;
                IJavaElement element2 = (IJavaElement) o2;
                return element.getElementType() - element2.getElementType();
            }

            return 0;
        }
    });

    for (Object project : projects) {
        if (project instanceof IJavaElement) {
            IJavaElement element = (IJavaElement) project;
            IJavaProject javaProject = element.getJavaProject();
            try {
                switch (element.getElementType()) {
                case IJavaElement.COMPILATION_UNIT: {
                    ICompilationUnit compilationUnit = (ICompilationUnit) element;
                    IApiComponent apiComponent = workspaceBaseline
                            .getApiComponent(javaProject.getElementName());
                    if (apiComponent != null) {
                        addElementFor(compilationUnit, apiComponent, scope);
                    }

                    break;
                }
                case IJavaElement.PACKAGE_FRAGMENT: {
                    IPackageFragment fragment = (IPackageFragment) element;
                    IApiComponent apiComponent = workspaceBaseline
                            .getApiComponent(javaProject.getElementName());
                    IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) fragment
                            .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
                    boolean isArchive = false;
                    if (packageFragmentRoot != null) {
                        isArchive = packageFragmentRoot.isArchive();
                    }

                    if (apiComponent != null) {
                        addElementFor(fragment, isArchive, apiComponent, scope);
                    }

                    break;
                }
                case IJavaElement.PACKAGE_FRAGMENT_ROOT: {
                    IPackageFragmentRoot fragmentRoot = (IPackageFragmentRoot) element;
                    IApiComponent apiComponent = workspaceBaseline
                            .getApiComponent(javaProject.getElementName());
                    if (apiComponent != null) {
                        addElementFor(fragmentRoot, apiComponent, scope);
                    }

                    break;
                }
                case IJavaElement.JAVA_PROJECT:
                    IApiComponent apiComponent = workspaceBaseline
                            .getApiComponent(javaProject.getElementName());
                    if (apiComponent != null) {
                        scope.addElement(apiComponent);
                    }

                    break;
                }
            } catch (JavaModelException e) {
                ApiPlugin.log(e);
            } catch (CoreException e) {
                ApiPlugin.log(e);
            }
        }
    }

    return scope;
}

From source file:org.eclipse.gmf.tests.JDTUtil.java

License:Open Source License

private void collectProblems(IJavaElement jElement, IMemberProcessor[] processors) {
    try {/*from w w w  . j a  v a  2 s . c om*/
        switch (jElement.getElementType()) {
        case IJavaElement.JAVA_PROJECT: {
            IJavaProject jProject = (IJavaProject) jElement;
            IPackageFragmentRoot[] roots = jProject.getPackageFragmentRoots();
            for (int i = 0; i < roots.length; i++) {
                if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                    collectProblems(roots[i], processors);
                }
            }
        }
            break;
        case IJavaElement.PACKAGE_FRAGMENT_ROOT: {
            IPackageFragmentRoot root = (IPackageFragmentRoot) jElement;
            IJavaElement[] children = root.getChildren();
            for (int i = 0; i < children.length; i++) {
                collectProblems(children[i], processors);
            }
        }
            break;
        case IJavaElement.PACKAGE_FRAGMENT: {
            IPackageFragment pf = (IPackageFragment) jElement;
            ICompilationUnit[] compilationUnits = pf.getCompilationUnits();
            for (int i = 0; i < compilationUnits.length; i++) {
                collectProblems(compilationUnits[i], processors);
            }
        }
            break;
        case IJavaElement.COMPILATION_UNIT: {
            ICompilationUnit compilationUnit = (ICompilationUnit) jElement;
            IType[] types = compilationUnit.getTypes();
            for (int i = 0; i < types.length; i++) {
                collectProblems(types[i], processors);
            }
        }
            break;
        case IJavaElement.TYPE: {
            IMember member = (IMember) jElement;
            collectProblems(member, processors, false);
        }
            break;
        }
    } catch (JavaModelException e) {
        myAggregator.add(e.getStatus());
    }
}

From source file:org.eclipse.gmt.modisco.jm2t.modelconverter.javamodisco.internal.core.DiscovererFactory.java

License:Open Source License

public IExtendedDiscover createDiscoverer(IJavaElement element) {
    int type = element.getElementType();
    switch (type) {
    case IJavaElement.JAVA_PROJECT:
        return new ExtendedDiscoverJavaModelFromJavaProject((IJavaProject) element);
    case IJavaElement.COMPILATION_UNIT:
        return new ExtendedDiscoverJavaModelFromCompilationUnit((ICompilationUnit) element);
    case IJavaElement.CLASS_FILE:
        return new ExtendedDiscoverJavaModelFromClassFile((IClassFile) element);
    case IJavaElement.TYPE:
        return createDiscoverer(element.getParent());
    case IJavaElement.PACKAGE_FRAGMENT:
        IPackageFragment packageFragment = (IPackageFragment) element;
        break;// ww w .  j a v a2  s . c o  m
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        // src folder is selected
        IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) element;
        return createDiscoverer(packageFragmentRoot.getParent());
    }
    return null;
}