Example usage for org.eclipse.jdt.core IMember getTypeRoot

List of usage examples for org.eclipse.jdt.core IMember getTypeRoot

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IMember getTypeRoot.

Prototype

ITypeRoot getTypeRoot();

Source Link

Document

Returns the Java type root in which this member is declared.

Usage

From source file:ca.uvic.chisel.javasketch.internal.ast.ASTResolver.java

License:Open Source License

/**
 * Connects an AST resolver to //w w  w . j  a v a  2 s . com
 * @param modelElement
 * @return
 */
public ASTResolver connect(ITraceModel modelElement, IProgressMonitor monitor) {
    try {
        IJavaElement element = JavaSearchUtils.findElement(modelElement, monitor);
        if (element instanceof IMember) {
            IMember member = (IMember) element;
            ITypeRoot root = member.getTypeRoot();
            synchronized (cache) {
                ASTResolver resolver = cache.get(root);
                if (resolver == null) {
                    String source = root.getSource();
                    if (source != null) {
                        IDocument document = new Document(source);
                        ASTNode node = ASTUTils.getASTFor(root);
                        if (node != null) {
                            resolver = new ASTResolver(typeRoot, rootNode, document);
                            cache.put(root, resolver);
                        }
                    }
                }
                resolver.connectionCount++;
                return resolver;
            }
        }
    } catch (JavaModelException e) {
    } catch (InterruptedException e) {
    } catch (CoreException e) {
    }
    return null;
}

From source file:com.codenvy.ide.ext.java.server.JavadocFinder.java

License:Open Source License

private String getJavadoc(IMember element) {
    StringBuffer buffer = new StringBuffer();
    boolean hasContents = false;
    if (element instanceof IPackageFragment || element instanceof IMember) {
        HTMLPrinter.addSmallHeader(buffer, getInfoText(element, element.getTypeRoot(), true));
        buffer.append("<br>"); //$NON-NLS-1$
        addAnnotations(buffer, element, element.getTypeRoot(), null);
        Reader reader = null;//from   w  w  w.ja va  2  s .c o m
        try {
            String content = element instanceof IMember
                    ? JavadocContentAccess2.getHTMLContent(element, true, baseHref)
                    : null;//JavadocContentAccess2.getHTMLContent((IPackageFragment)element);
            IPackageFragmentRoot root = (IPackageFragmentRoot) element
                    .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
            //                boolean isBinary = root.exists() && root.getKind() == IPackageFragmentRoot.K_BINARY;
            if (content != null) {
                //                base= JavaDocLocations.getBaseURL(element, isBinary);
                reader = new StringReader(content);
            } else {
                String explanationForMissingJavadoc = JavaDocLocations.getExplanationForMissingJavadoc(element,
                        root);
                if (explanationForMissingJavadoc != null)
                    reader = new StringReader(explanationForMissingJavadoc);
            }
        } catch (CoreException ex) {
            reader = new StringReader(JavaDocLocations.handleFailedJavadocFetch(ex));
        }

        if (reader != null) {
            HTMLPrinter.addParagraph(buffer, reader);
        }
        hasContents = true;
    }

    if (!hasContents)
        return null;

    if (buffer.length() > 0) {
        //todo use url for css
        HTMLPrinter.insertPageProlog(buffer, 0, getStyleSheet());
        //            if (base != null) {
        //                int endHeadIdx= buffer.indexOf("</head>"); //$NON-NLS-1$
        //                buffer.insert(endHeadIdx, "\n<base href='" + base + "'>\n"); //$NON-NLS-1$ //$NON-NLS-2$
        //            }
        HTMLPrinter.addPageEpilog(buffer);
        return buffer.toString();
    }

    return null;
}

From source file:org.eclipse.che.jdt.JavadocFinder.java

License:Open Source License

private String getJavadoc(IMember element) {
    StringBuffer buffer = new StringBuffer();
    boolean hasContents = false;
    if (element instanceof IPackageFragment || element instanceof IMember) {
        HTMLPrinter.addSmallHeader(buffer, getInfoText(element, element.getTypeRoot(), true));
        buffer.append("<br>"); //$NON-NLS-1$
        addAnnotations(buffer, element, element.getTypeRoot(), null);
        Reader reader = null;//from   w  ww  .  j a va  2  s.c om
        try {
            String content = element instanceof IMember
                    ? JavadocContentAccess2.getHTMLContent(element, true, baseHref)
                    : null;//JavadocContentAccess2.getHTMLContent((IPackageFragment)element);
            IPackageFragmentRoot root = (IPackageFragmentRoot) element
                    .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
            if (content != null) {
                reader = new StringReader(content);
            } else {
                String explanationForMissingJavadoc = JavaDocLocations.getExplanationForMissingJavadoc(element,
                        root);
                if (explanationForMissingJavadoc != null)
                    reader = new StringReader(explanationForMissingJavadoc);
            }
        } catch (CoreException ex) {
            reader = new StringReader(JavaDocLocations.handleFailedJavadocFetch(ex));
        }

        if (reader != null) {
            HTMLPrinter.addParagraph(buffer, reader);
        }
        hasContents = true;
    }

    if (!hasContents)
        return null;

    if (buffer.length() > 0) {
        HTMLPrinter.insertPageProlog(buffer, 0, getStyleSheet());
        HTMLPrinter.addPageEpilog(buffer);
        return buffer.toString();
    }

    return null;
}

From source file:org.jboss.tools.seam.ui.views.SeamLabelProvider.java

License:Open Source License

@Override
public String getText(Object element) {
    if (element instanceof IWorkspaceRoot) {
        return ""; //$NON-NLS-1$
    } else if (element instanceof ISeamProject) {
        return ((IProjectNature) element).getProject().getName();
    } else if (element instanceof IProject) {
        return ((IProject) element).getName();
    } else if (element instanceof ISeamScope) {
        return ((ISeamScope) element).getType().getLabel();
    } else if (element instanceof ISeamPackage) {
        if (isFlatLayout/* ScopePresentationActionProvider.isPackageStructureFlat()*/) {
            return ((ISeamPackage) element).getQualifiedName();
        } else {//from  w ww. jav a  2  s. c  o  m
            return ((ISeamPackage) element).getName();
        }
    } else if (element instanceof ISeamComponent) {
        ISeamComponent c = (ISeamComponent) element;
        String name = c.getName();

        int lastIndexOf = name.lastIndexOf('.');
        if (lastIndexOf != -1 && lastIndexOf != name.length()) {
            name = name.substring(lastIndexOf + 1); // temp fix for JBIDE-644; shouldn't need to do this here. shold be a method to getShortName or similar but ISeamComponent extends ISeamContextVariable so ended up being weird to do clean.
        }

        if (isScopeLable /* ScopePresentationActionProvider.isScopePresentedAsLabel()*/) {
            name += " (" + ((ISeamScope) c.getParent()).getType().getLabel() + ")"; //$NON-NLS-1$ //$NON-NLS-2$
        }
        return name;
    } else if (element instanceof IRole) {
        return "" + ((IRole) element).getName(); //$NON-NLS-1$
    } else if (element instanceof ISeamFactory) {
        ISeamFactory f = (ISeamFactory) element;
        return f.getName() + " - " + f.getSourcePath();
    } else if (element instanceof IJavaSourceReference) {
        IJavaSourceReference d = (IJavaSourceReference) element;
        IMember m = d.getSourceMember();
        IType type = (m instanceof IType) ? (IType) m : m.getTypeRoot().findPrimaryType();
        if (type.isBinary()) {
            IResource r = ((ISeamElement) element).getResource();
            String s = (r == null) ? "<no name>" : r.getName(); //$NON-NLS-1$
            return s + "/" + type.getFullyQualifiedName(); //$NON-NLS-1$
        } else {
            return type.getFullyQualifiedName();
        }

    } else if (element instanceof ISeamComponentDeclaration) {
        IResource r = ((ISeamComponentDeclaration) element).getResource();
        return r == null ? "???" : r.getName(); //$NON-NLS-1$
    }
    return element == null ? "" : element.toString();//$NON-NLS-1$
}

From source file:org.springframework.tooling.jdt.ls.commons.java.JavaData.java

License:Open Source License

private ClasspathEntryData createClasspathEntryData(IMember member) {
    ClasspathEntryData data = new ClasspathEntryData();

    IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) member
            .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
    if (packageFragmentRoot != null) {
        try {/*  www.  j  av a2 s .co  m*/
            IClasspathEntry entry = packageFragmentRoot.getResolvedClasspathEntry();
            if (entry != null) {
                List<CPE> cpes = ClasspathUtil.createCpes(packageFragmentRoot.getJavaProject(), entry);
                Assert.isTrue(cpes.size() < 2);
                if (!cpes.isEmpty()) {
                    data.setCpe(cpes.get(0));
                }
            }
        } catch (JavaModelException | MalformedURLException e) {
            logger.log(e);
        }
    }

    ITypeRoot typeRoot = member.getTypeRoot();
    try {
        if (typeRoot != null && typeRoot.getModule() != null) {
            data.setModule(typeRoot.getModule().getElementName());
        }
    } catch (JavaModelException e) {
        logger.log(e);
    }

    return data;
}