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

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

Introduction

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

Prototype

boolean exists();

Source Link

Document

Returns whether this Java element exists in the model.

Usage

From source file:org.eclipse.xtend.ide.javaconverter.ConvertJavaCodeHandler.java

License:Open Source License

private Set<ICompilationUnit> getCompilationUnits(IStructuredSelection structuredSelection) {
    Set<ICompilationUnit> result = new HashSet<ICompilationUnit>();
    for (Object element : structuredSelection.toList()) {
        if (element instanceof IJavaElement) {
            IJavaElement elem = (IJavaElement) element;
            if (elem.exists()) {
                collectCompilationUnits(elem, result);

            }//from   ww w.  ja v  a2s  . c o m
        }
    }
    return result;
}

From source file:org.eclipse.xtext.common.types.xtext.ui.JdtHoverDocumentationProvider.java

License:Open Source License

@Override
public String getDocumentation(EObject object) {
    if (object instanceof JvmIdentifiableElement) {
        IJavaElement element = javaElementFinder.findElementFor((JvmIdentifiableElement) object);
        if (element instanceof IMember && element.exists()) {
            /**/* w ww.j  a v a 2  s.c  o  m*/
             * Since there is a incompatible change in the signature of the method we have to check at runtime
             * which signature to use.
             */
            Method methodToInvoke = null;
            try {
                // Old signature 
                // org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(IMember, boolean)
                methodToInvoke = JavadocContentAccess2.class.getDeclaredMethod("getHTMLContent",
                        new Class[] { IMember.class, boolean.class });
            } catch (SecurityException e) {
                // Ignore since we know that it is public
            } catch (NoSuchMethodException e) {
                try {
                    // New signature
                    // org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(IJavaElement, boolean)
                    methodToInvoke = JavadocContentAccess2.class.getDeclaredMethod("getHTMLContent",
                            new Class[] { IJavaElement.class, boolean.class });
                } catch (SecurityException e1) {
                    // Ignore since we know that it is public
                } catch (NoSuchMethodException e1) {
                    log.error(e.getMessage(), e);
                }
            }
            if (methodToInvoke != null) {
                try {
                    return (String) methodToInvoke.invoke(null, element, true);
                } catch (IllegalArgumentException e) {
                    log.error(e.getMessage(), e);
                } catch (IllegalAccessException e) {
                    log.error(e.getMessage(), e);
                } catch (InvocationTargetException e) {
                    log.error(e.getMessage(), e);
                }
            }
        }
    }
    return "";

}

From source file:org.eclipse.xtext.common.types.xtext.ui.JdtHoverProvider.java

License:Open Source License

@Override
public IInformationControlCreatorProvider getHoverInfo(EObject eObject, ITextViewer viewer, IRegion region) {
    if (eObject instanceof JvmIdentifiableElement) {
        JvmIdentifiableElement jvmIdentifiableElement = (JvmIdentifiableElement) eObject;
        IJavaElement javaElement = javaElementFinder.findElementFor(jvmIdentifiableElement);
        if (javaElement != null && javaElement.exists()) {
            javadocHover.setJavaElement(javaElement);
            final Object hoverInfo2 = javadocHover.getHoverInfo2(viewer, region);
            return new IInformationControlCreatorProvider2() {

                @Override/* www  .ja  v  a 2  s . c o  m*/
                public IInformationControlCreator getHoverControlCreator() {
                    return javadocHover.getHoverControlCreator();
                }

                @Override
                public Object getInfo() {
                    return hoverInfo2;
                }

                @Override
                public IInformationControlCreator getInformationPresenterControlCreator() {
                    return javadocHover.getInformationPresenterControlCreator();
                }

            };
        }
    }
    return null;
}

From source file:org.eclipse.xtext.xbase.ui.editor.XbaseEditor.java

License:Open Source License

@Override
protected void doRestoreState(IMemento memento) {
    super.doRestoreState(memento);
    String handleIdentifier = memento.getString(HANDLER_IDENTIFIER);
    if (handleIdentifier != null) {
        IJavaElement handle = JavaCore.create(handleIdentifier);
        if (handle instanceof ITypeRoot && handle.exists()) {
            typeRoot = (ITypeRoot) handle;
        }/* ww w  .j  a  va2  s. c o m*/
    }
}

From source file:org.eclipse.xtext.xbase.ui.imports.MultiOrganizeImportsHandler.java

License:Open Source License

private void collectRelevantFiles(Object element, Multimap<IProject, IFile> result) {
    try {//w ww .  jav  a  2s  .c o m
        if (element instanceof IJavaElement) {
            IJavaElement elem = (IJavaElement) element;
            if (elem.exists()) {
                switch (elem.getElementType()) {
                case IJavaElement.PACKAGE_FRAGMENT:
                    collectRelevantFiles((IPackageFragment) elem, result);
                    break;
                case IJavaElement.PACKAGE_FRAGMENT_ROOT:
                    collectRelevantFiles((IPackageFragmentRoot) elem, result);
                    break;
                case IJavaElement.JAVA_PROJECT:
                    IPackageFragmentRoot[] roots;
                    roots = ((IJavaProject) elem).getPackageFragmentRoots();
                    for (int k = 0; k < roots.length; k++) {
                        collectRelevantFiles(roots[k], result);
                    }
                    break;
                }
            }
        } else if (element instanceof LogicalPackage) {
            IPackageFragment[] packageFragments = ((LogicalPackage) element).getFragments();
            for (int k = 0; k < packageFragments.length; k++) {
                IPackageFragment pack = packageFragments[k];
                if (pack.exists()) {
                    collectRelevantFiles(pack, result);
                }
            }
        } else if (element instanceof IWorkingSet) {
            IWorkingSet workingSet = (IWorkingSet) element;
            IAdaptable[] elements = workingSet.getElements();
            for (int j = 0; j < elements.length; j++) {
                collectRelevantFiles(elements[j], result);
            }
        } else if (element instanceof IFile) {
            collectIFiles(result, new Object[] { element });
        }
    } catch (JavaModelException e) {
        e.printStackTrace();
    }
}

From source file:org.eclipse.xtext.xbase.ui.launching.JavaElementDelegateJunitLaunch.java

License:Open Source License

@Override
protected boolean containsElementsSearchedFor(IFile file) {
    IJavaElement element = JavaCore.create(file);
    if (element == null || !element.exists() || !(element instanceof ICompilationUnit)) {
        return false;
    }/*from   w w  w .ja  v  a2  s  . c o  m*/
    try {
        ICompilationUnit cu = (ICompilationUnit) element;
        for (IType type : cu.getAllTypes()) {
            for (IMethod method : type.getMethods()) {
                int flags = method.getFlags();
                if (Modifier.isPublic(flags) && !Modifier.isStatic(flags) && method.getNumberOfParameters() == 0
                        && Signature.SIG_VOID.equals(method.getReturnType())
                        && method.getElementName().startsWith("test")) { //$NON-NLS-1$
                    return true;
                }
                IAnnotation annotation = method.getAnnotation("Test"); //$NON-NLS-1$
                if (annotation.exists())
                    return true;
            }
        }
    } catch (JavaModelException e) {
        log.error(e.getMessage(), e);
    }
    return super.containsElementsSearchedFor(file);
}

From source file:org.eclipse.xtext.xbase.ui.launching.JavaElementDelegateMainLaunch.java

License:Open Source License

@Override
protected boolean containsElementsSearchedFor(IFile file) {
    IJavaElement element = JavaCore.create(file);
    if (element == null || !element.exists() || !(element instanceof ICompilationUnit)) {
        return false;
    }// ww  w .  j a  v  a2s  .c  om
    try {
        ICompilationUnit cu = (ICompilationUnit) element;
        for (IType type : cu.getAllTypes()) {
            for (IMethod method : type.getMethods()) {
                int flags = method.getFlags();
                if (Modifier.isPublic(flags) && Modifier.isStatic(flags)
                        && "main".equals(method.getElementName()) && method.getParameterTypes().length == 1
                        && method.getParameterTypes()[0].equals("[QString;")) { //$NON-NLS-1$
                    return true;
                }
            }
        }
    } catch (JavaModelException e) {
        log.error(e.getMessage(), e);
    }
    return super.containsElementsSearchedFor(file);
}

From source file:org.eclipselabs.stlipse.hyperlink.JspHyperlinkDetector.java

License:Open Source License

private IJavaElement searchElement(IType actionBean, String attrValue,
        Map<String, EventProperty> eventHandlers) {
    IJavaElement target = null;
    if (attrValue != null) {
        String elementName = attrValue.replaceAll("[^a-zA-Z\\.\\[]", "");
        if (elementName.startsWith("actionBean."))
            elementName = elementName.substring(11);
        final int dotPos = elementName.indexOf('.');
        final int bracePos = elementName.indexOf('[');
        if (dotPos > 0 && (bracePos == -1 || dotPos < bracePos))
            elementName = elementName.substring(0, dotPos);
        else if (bracePos > 0 && (dotPos == -1 || bracePos < dotPos))
            elementName = elementName.substring(0, bracePos);
        // Resolve event name
        EventProperty eventProperty = eventHandlers.get(elementName);
        if (eventProperty != null) {
            elementName = eventProperty.getMethodName();
        }/*  w ww  .  j a va2  s  . c  o  m*/
        // Search method
        target = actionBean.getMethod(elementName, null);
        if (target == null || !target.exists()) {
            // Search field
            target = actionBean.getField(elementName);
        }
    }
    return target == null ? actionBean : target;
}

From source file:org.fusesource.ide.foundation.core.util.IFiles.java

License:Open Source License

/**
 * Returns the file name relative to the source directory or project it is contained
 * inside/*from  w  w w  . j a v  a2  s  .co m*/
 */
public static String getRelativeFileUri(IFile file) {
    IContainer parent = file.getParent();

    while (parent != null && !(parent instanceof IProject)) {
        IJavaElement element = JavaCore.create(parent);

        // lets use package relative URIs for files
        if (element != null && element.exists() && element instanceof IPackageFragmentRoot) {
            IPath parentFullPath = parent.getFullPath();
            int segmentCount = parentFullPath.segmentCount();
            IPath relativePath = file.getFullPath().removeFirstSegments(segmentCount);
            return relativePath.toString();
        }
        parent = parent.getParent();
    }
    return file.getProjectRelativePath().toString();
}

From source file:org.grails.ide.eclipse.editor.gsp.translation.GSPTranslation.java

License:Open Source License

/**
 * Originally from ReconcileStepForJava.  Creates an ICompilationUnit from the contents of the JSP document.
 * //  w ww  . j  ava 2 s  .c  o  m
 * @return an ICompilationUnit from the contents of the JSP document
 */
private ICompilationUnit createCompilationUnit() throws JavaModelException {

    IPackageFragment packageFragment = null;
    IJavaElement je = getJavaProject();

    if (je == null || !je.exists())
        return null;

    switch (je.getElementType()) {
    case IJavaElement.PACKAGE_FRAGMENT:
        je = je.getParent();
        // fall through

    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        IPackageFragmentRoot packageFragmentRoot = (IPackageFragmentRoot) je;
        packageFragment = packageFragmentRoot.getPackageFragment(IPackageFragmentRoot.DEFAULT_PACKAGEROOT_PATH);
        break;

    case IJavaElement.JAVA_PROJECT:
        IJavaProject jProject = (IJavaProject) je;

        if (!jProject.exists()) {
            if (DEBUG) {
                System.out.println(
                        "** Abort create working copy: cannot create working copy: JSP is not in a Java project"); //$NON-NLS-1$
            }
            return null;
        }

        packageFragmentRoot = null;
        IPackageFragmentRoot[] packageFragmentRoots = jProject.getPackageFragmentRoots();
        int i = 0;
        while (i < packageFragmentRoots.length) {
            if (!packageFragmentRoots[i].isArchive() && !packageFragmentRoots[i].isExternal()) {
                packageFragmentRoot = packageFragmentRoots[i];
                break;
            }
            i++;
        }
        if (packageFragmentRoot == null) {
            if (DEBUG) {
                System.out.println(
                        "** Abort create working copy: cannot create working copy: JSP is not in a Java project with source package fragment root"); //$NON-NLS-1$
            }
            return null;
        }
        packageFragment = packageFragmentRoot.getPackageFragment(IPackageFragmentRoot.DEFAULT_PACKAGEROOT_PATH);
        break;

    default:
        return null;
    }

    // GRAILS CHANGE
    // create compilation unit with .groovy instead of .java file extension
    ICompilationUnit cu = packageFragment.getCompilationUnit(getClassname() + ".groovy") //$NON-NLS-1$
            .getWorkingCopy(getWorkingCopyOwner(), getProgressMonitor());
    //        ICompilationUnit cu = packageFragment.getCompilationUnit(getClassname() + ".java").getWorkingCopy(getWorkingCopyOwner(), getProgressMonitor()); //$NON-NLS-1$
    setContents(cu);

    // GRAILS CHANGE
    // need extra call to makeConsistent
    // https://issuetracker.springsource.com/browse/STS-3091#comment-79054
    cu.makeConsistent(getProgressMonitor());

    if (DEBUG) {
        System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); //$NON-NLS-1$
        System.out.println("(+) JSPTranslation [" + this + "] finished creating CompilationUnit: " + cu); //$NON-NLS-1$ //$NON-NLS-2$
        System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); //$NON-NLS-1$
    }

    return cu;
}