List of usage examples for org.eclipse.jdt.core IJavaElement exists
boolean exists();
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; }