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.summer.dsl.model.types.xtext.ui.JdtHoverProvider.java

License:Open Source License

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 IInformationControlCreatorProvider() {

                public IInformationControlCreator getHoverControlCreator() {
                    return javadocHover.getHoverControlCreator();
                }/*from www.j av  a2 s.  c o m*/

                public Object getInfo() {
                    return hoverInfo2;
                }

            };
        }
    }
    return null;
}

From source file:org.summer.dsl.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 ww. ja v a 2s.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);
    }
    return super.containsElementsSearchedFor(file);
}

From source file:org.summer.dsl.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;
    }/*from   w  w w  . j a  va 2  s.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);
    }
    return super.containsElementsSearchedFor(file);
}

From source file:rabbit.tracking.internal.trackers.JavaTracker.java

License:Apache License

/**
 * Performs filtering of the data before saving.
 * <p>//from w  w w . j  a va  2  s .co m
 * NOTE: Then a user starts to type a new java element, like a method, he/she
 * knows what the name he/she is going to type for the method, but we have no
 * way of knowing that, so lots of events may be recorded before he/she
 * finishes typing the name. For example, if the user want to type "hello" as
 * the method name, there will be events recorded about the java element
 * "hel", or "hell", or "hello", we only need one of them ("hello") but we
 * also want to keep the time about the invalid ones, so before we save the
 * data, we check for non-existent java elements, and instead of saving the
 * data under those elements, we save the data under the first existing parent
 * of the elements, if all parents are missing (e.g. deletes the file), we
 * save it under the file parent, like "File.java".
 * </p>
 */
private void filterData() {
    Set<JavaEvent> filteredData = Sets.newLinkedHashSet();
    for (JavaEvent event : getData()) {
        IJavaElement e = event.getElement();
        // ITypeRoot represents the file, xxx.java. Everything above that is not
        // modifiable in a JavaEditor, so no need to check them:
        if (!e.exists()) {
            for (; !e.exists() && !(e instanceof ITypeRoot); e = e.getParent())
                ;
            filteredData.add(new JavaEvent(event.getInterval(), e));

        } else {
            IJavaElement actual = null;
            try {
                actual = filterElement(e);
            } catch (JavaModelException ex) {
                actual = null;
                ex.printStackTrace();
            }

            if (actual == null) {
                filteredData.add(event);
            } else {
                filteredData.add(new JavaEvent(event.getInterval(), actual));
            }
        }
    }
    // Replace the old data with the filtered:
    flushData();
    for (JavaEvent event : filteredData) {
        addData(event);
    }
}