List of usage examples for org.eclipse.jdt.core IOpenable isOpen
boolean isOpen();
From source file:edu.brown.cs.bubbles.bedrock.BedrockUtil.java
License:Open Source License
private static void outputJavaElementImpl(IJavaElement elt, Set<String> files, boolean children, IvyXmlWriter xw) {//from w w w. j av a 2 s .co m if (elt == null) return; String close = null; switch (elt.getElementType()) { case IJavaElement.CLASS_FILE: return; case IJavaElement.PACKAGE_FRAGMENT: IOpenable opn = (IOpenable) elt; if (!opn.isOpen()) { try { opn.open(null); } catch (JavaModelException e) { BedrockPlugin.logE("Package framgent " + elt.getElementName() + " not open"); return; } } try { outputNameDetails((IPackageFragment) elt, xw); } catch (JavaModelException e) { } break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: IPackageFragmentRoot pfr = (IPackageFragmentRoot) elt; try { if (!pfr.isOpen() && pfr.getKind() == IPackageFragmentRoot.K_SOURCE) { pfr.open(null); } } catch (JavaModelException e) { return; } outputNameDetails(pfr, xw); break; case IJavaElement.JAVA_PROJECT: IJavaProject ijp = (IJavaProject) elt; outputNameDetails(ijp, xw); break; case IJavaElement.JAVA_MODEL: case IJavaElement.IMPORT_CONTAINER: case IJavaElement.IMPORT_DECLARATION: case IJavaElement.TYPE_PARAMETER: default: break; case IJavaElement.COMPILATION_UNIT: IProject ip = elt.getJavaProject().getProject(); File f = getFileForPath(elt.getPath(), ip); if (files != null && !files.contains(f.getPath()) && !files.contains(f.getAbsolutePath())) { return; } xw.begin("FILE"); xw.textElement("PATH", f.getAbsolutePath()); String root = getRootForPath(elt.getPath(), ip); if (root != null) xw.textElement("PATHROOT", root); close = "FILE"; break; case IJavaElement.TYPE: try { outputNameDetails((IType) elt, xw); } catch (JavaModelException e) { } break; case IJavaElement.FIELD: try { outputNameDetails((IField) elt, xw); } catch (JavaModelException e) { } break; case IJavaElement.METHOD: try { outputNameDetails((IMethod) elt, xw); } catch (JavaModelException e) { } break; case IJavaElement.INITIALIZER: outputNameDetails((IInitializer) elt, xw); break; case IJavaElement.PACKAGE_DECLARATION: outputNameDetails((IPackageDeclaration) elt, xw); break; case IJavaElement.LOCAL_VARIABLE: outputNameDetails((ILocalVariable) elt, xw); break; } if (children && elt instanceof IParent) { try { for (IJavaElement c : ((IParent) elt).getChildren()) { outputJavaElementImpl(c, files, children, xw); } } catch (JavaModelException e) { } } if (close != null) xw.end(close); }
From source file:org.eclipse.team.svn.resource.ignore.rules.jdt.JDTIgnoreRecommendations.java
License:Open Source License
public boolean isOutput(IResource resource) throws CoreException { IProject project = resource.getProject(); if (project == null) { return false; }/*from ww w . j a v a2 s .co m*/ IJavaProject javaProject = JavaCore.create(project); IPath output = javaProject.getOutputLocation(); // if this resource not in the output folder or the project itself is the output folder then no need to ignore it if (!output.isPrefixOf(resource.getFullPath()) || output.equals(project.getFullPath())) { return false; } if (!"bin".equals(output.lastSegment())) { //default folder name used in eclipse while creating project with separate source and binary folders IOpenable openable = javaProject.getOpenable(); if (openable.isOpen()) { // do not start any time consuming process IPackageFragmentRoot[] roots = JavaCore.create(project).getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (output.isPrefixOf(roots[i].getPath())) { return false; } } } } return true; }