List of usage examples for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT
int PACKAGE_FRAGMENT_ROOT
To view the source code for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT.
Click Source Link
From source file:ar.com.fluxit.jqa.utils.JdtUtils.java
License:Open Source License
public static File[] getSourcesDirs(IJavaProject javaProject) throws JavaModelException { Collection<File> result = new ArrayList<File>(); IPackageFragmentRoot[] packageFragmentRoot = javaProject.getPackageFragmentRoots(); for (int i = 0; i < packageFragmentRoot.length; i++) { if (packageFragmentRoot[i].getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT && !packageFragmentRoot[i].isArchive()) { result.add(getAbsolutePath(packageFragmentRoot[i].getPath())); }//from w ww . ja va 2 s . c o m } return result.toArray(new File[result.size()]); }
From source file:ar.com.fluxit.jqa.utils.Utils.java
License:Open Source License
public static File[] getSourcesDirs(IJavaProject javaProject) throws JavaModelException { Collection<File> result = new ArrayList<File>(); IPackageFragmentRoot[] packageFragmentRoot = javaProject.getAllPackageFragmentRoots(); for (int i = 0; i < packageFragmentRoot.length; i++) { if (packageFragmentRoot[i].getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT && !packageFragmentRoot[i].isArchive()) { result.add(getAbsolutePath(packageFragmentRoot[i].getPath())); }// w w w . j av a 2 s . c o m } return result.toArray(new File[result.size()]); }
From source file:at.bestsolution.efxclipse.tooling.ui.wizards.AbstractNewJDTElementWizard.java
License:Open Source License
protected IPackageFragmentRoot getFragmentRoot(IJavaElement elem) { IPackageFragmentRoot initRoot = null; if (elem != null) { initRoot = (IPackageFragmentRoot) elem.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); try {// w ww .j a v a2 s . com if (initRoot == null || initRoot.getKind() != IPackageFragmentRoot.K_SOURCE) { IJavaProject jproject = elem.getJavaProject(); if (jproject != null) { initRoot = null; if (jproject.exists()) { IPackageFragmentRoot[] roots = jproject.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) { initRoot = roots[i]; break; } } } if (initRoot == null) { initRoot = jproject.getPackageFragmentRoot(jproject.getResource()); } } } } catch (JavaModelException e) { // TODO e.printStackTrace(); } } return initRoot; }
From source file:at.bestsolution.fxide.jdt.corext.util.JavaModelUtil.java
License:Open Source License
/** * Returns the package fragment root of <code>IJavaElement</code>. If the given * element is already a package fragment root, the element itself is returned. * @param element the element// www . j a v a2 s .c o m * @return the package fragment root of the element or <code>null</code> */ public static IPackageFragmentRoot getPackageFragmentRoot(IJavaElement element) { return (IPackageFragmentRoot) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); }
From source file:at.bestsolution.fxide.jdt.text.javadoc.JavadocContentAccess2.java
License:Open Source License
/** * Returns the Javadoc for a package which could be present in package.html, package-info.java * or from an attached Javadoc./*from w w w . j a v a 2 s .c om*/ * * @param packageFragment the package which is requesting for the document * @return the document content in HTML format or <code>null</code> if there is no associated * Javadoc * @throws CoreException if the Java element does not exists or an exception occurs while * accessing the file containing the package Javadoc * @since 3.9 */ public static String getHTMLContent(IPackageFragment packageFragment) throws CoreException { IPackageFragmentRoot root = (IPackageFragmentRoot) packageFragment .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); //1==> Handle the case when the documentation is present in package-info.java or package-info.class file ITypeRoot packageInfo; boolean isBinary = root.getKind() == IPackageFragmentRoot.K_BINARY; if (isBinary) { packageInfo = packageFragment.getClassFile(JavaModelUtil.PACKAGE_INFO_CLASS); } else { packageInfo = packageFragment.getCompilationUnit(JavaModelUtil.PACKAGE_INFO_JAVA); } if (packageInfo != null && packageInfo.exists()) { String cuSource = packageInfo.getSource(); //the source can be null for some of the class files if (cuSource != null) { Javadoc packageJavadocNode = getPackageJavadocNode(packageFragment, cuSource); if (packageJavadocNode != null) { IJavaElement element; if (isBinary) { element = ((IClassFile) packageInfo).getType(); } else { element = packageInfo.getParent(); // parent is the IPackageFragment } return new JavadocContentAccess2(element, packageJavadocNode, cuSource).toHTML(); } } } // 2==> Handle the case when the documentation is done in package.html file. The file can be either in normal source folder or coming from a jar file else { Object[] nonJavaResources = packageFragment.getNonJavaResources(); // 2.1 ==>If the package.html file is present in the source or directly in the binary jar for (Object nonJavaResource : nonJavaResources) { if (nonJavaResource instanceof IFile) { IFile iFile = (IFile) nonJavaResource; if (iFile.exists() && JavaModelUtil.PACKAGE_HTML.equals(iFile.getName())) { return getIFileContent(iFile); } } } // 2.2==>The file is present in a binary container if (isBinary) { for (Object nonJavaResource : nonJavaResources) { // The content is from an external binary class folder if (nonJavaResource instanceof IJarEntryResource) { IJarEntryResource jarEntryResource = (IJarEntryResource) nonJavaResource; String encoding = getSourceAttachmentEncoding(root); if (JavaModelUtil.PACKAGE_HTML.equals(jarEntryResource.getName()) && jarEntryResource.isFile()) { return getHTMLContent(jarEntryResource, encoding); } } } //2.3 ==>The file is present in the source attachment path. String contents = getHTMLContentFromAttachedSource(root, packageFragment); if (contents != null) return contents; } } //3==> Handle the case when the documentation is coming from the attached Javadoc if ((root.isArchive() || root.isExternal())) { return packageFragment.getAttachedJavadoc(null); } return null; }
From source file:at.bestsolution.fxide.jdt.text.viewersupport.JavaElementLabelComposer.java
License:Open Source License
/** * Appends the label for a Java element with the flags as defined by this class. * * @param element the element to render//from w w w . j a v a 2 s. co m * @param flags the rendering flags. */ public void appendElementLabel(IJavaElement element, long flags) { int type = element.getElementType(); IPackageFragmentRoot root = null; if (type != IJavaElement.JAVA_MODEL && type != IJavaElement.JAVA_PROJECT && type != IJavaElement.PACKAGE_FRAGMENT_ROOT) root = JavaModelUtil.getPackageFragmentRoot(element); if (root != null && getFlag(flags, JavaElementLabels.PREPEND_ROOT_PATH)) { appendPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED); fBuffer.append(JavaElementLabels.CONCAT_STRING); } switch (type) { case IJavaElement.METHOD: appendMethodLabel((IMethod) element, flags); break; case IJavaElement.FIELD: appendFieldLabel((IField) element, flags); break; case IJavaElement.LOCAL_VARIABLE: appendLocalVariableLabel((ILocalVariable) element, flags); break; case IJavaElement.TYPE_PARAMETER: appendTypeParameterLabel((ITypeParameter) element, flags); break; case IJavaElement.INITIALIZER: appendInitializerLabel((IInitializer) element, flags); break; case IJavaElement.TYPE: appendTypeLabel((IType) element, flags); break; case IJavaElement.CLASS_FILE: appendClassFileLabel((IClassFile) element, flags); break; case IJavaElement.COMPILATION_UNIT: appendCompilationUnitLabel((ICompilationUnit) element, flags); break; case IJavaElement.PACKAGE_FRAGMENT: appendPackageFragmentLabel((IPackageFragment) element, flags); break; case IJavaElement.PACKAGE_FRAGMENT_ROOT: appendPackageFragmentRootLabel((IPackageFragmentRoot) element, flags); break; case IJavaElement.IMPORT_CONTAINER: case IJavaElement.IMPORT_DECLARATION: case IJavaElement.PACKAGE_DECLARATION: appendDeclarationLabel(element, flags); break; case IJavaElement.JAVA_PROJECT: case IJavaElement.JAVA_MODEL: fBuffer.append(element.getElementName()); break; default: fBuffer.append(element.getElementName()); } if (root != null && getFlag(flags, JavaElementLabels.APPEND_ROOT_PATH)) { int offset = fBuffer.length(); fBuffer.append(JavaElementLabels.CONCAT_STRING); appendPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED); // if (getFlag(flags, JavaElementLabels.COLORIZE)) { // fBuffer.setStyle(offset, fBuffer.length() - offset, QUALIFIER_STYLE); // } } }
From source file:ca.mcgill.sable.soot.launching.SootFileLauncher.java
License:Open Source License
public void handleFiles(Object toProcess) { setDoNotContinue(false);/*w w w . j a v a 2s .com*/ if (toProcess instanceof IClassFile) { IClassFile cf = (IClassFile) toProcess; IPackageFragmentRoot pfr = (IPackageFragmentRoot) cf.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); IPackageFragment pf = (IPackageFragment) cf.getAncestor(IJavaElement.PACKAGE_FRAGMENT); if (pfr.getResource() != null) { setClasspathAppend(platform_location + pfr.getPath().toOSString()); } else { setClasspathAppend(pfr.getPath().toOSString()); } addJars(); if (pf.isDefaultPackage()) { getToProcessList().add(removeFileExt(cf.getElementName())); } else { getToProcessList().add(pf.getElementName() + "." + removeFileExt(cf.getElementName())); } } else if (toProcess instanceof IFile) { IFile file = (IFile) toProcess; if (file.getFileExtension().compareTo("jimple") == 0) { setClasspathAppend(platform_location + file.getParent().getFullPath().toOSString()); addJars(); setIsSrcPrec(true); setSrcPrec(LaunchCommands.JIMPLE_IN); getToProcessList().add(removeFileExt(file.getName())); } else if (file.getFileExtension().equals("java")) { try { handleSourceFile(JavaCore.createCompilationUnitFrom(file)); } catch (Exception e) { System.out.println("problem creating CompilationUnit"); } } else if (file.getFileExtension().equals("class")) { try { handleClassFile(file); } catch (Exception e) { System.out.println("not a class file"); } } } else if (toProcess instanceof ICompilationUnit) { ICompilationUnit cu = (ICompilationUnit) toProcess; handleSourceFile(cu); } }
From source file:ca.mcgill.sable.soot.launching.SootFileLauncher.java
License:Open Source License
private void handleSourceFile(ICompilationUnit cu) { IPackageFragmentRoot pfr = (IPackageFragmentRoot) cu.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT); IPackageFragment pf = (IPackageFragment) cu.getAncestor(IJavaElement.PACKAGE_FRAGMENT); if (isSrcPrec() && getSrcPrec().equals("java")) { setClasspathAppend(platform_location + pfr.getPath().toOSString()); } else {// w w w . j av a2 s .com try { IProject proj = cu.getJavaProject().getProject(); IFolder output = proj.getFolder(cu.getJavaProject().getOutputLocation().lastSegment()); IPackageFragment pkf = (IPackageFragment) cu.getAncestor(IJavaElement.PACKAGE_FRAGMENT); IFile exists = null; if (pkf.isDefaultPackage()) { exists = output.getFile(removeFileExt(cu.getElementName()) + ".class"); } else { IFolder pkg = output.getFolder(dotsToSlashes(pf.getElementName())); exists = pkg.getFile(removeFileExt(cu.getElementName()) + ".class"); } if (!exists.exists()) { window = SootPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow(); MessageDialog noClassFound = new MessageDialog(window.getShell(), "Soot Information", null, "No underlying class file was found, maybe build project.", 0, new String[] { "OK" }, 0); noClassFound.open(); setDoNotContinue(true); } setClasspathAppend(platform_location + cu.getJavaProject().getOutputLocation().toOSString()); } catch (CoreException e) { } } addJars(); if (pf.isDefaultPackage()) { getToProcessList().add(removeFileExt(cu.getElementName())); } else { getToProcessList().add(pf.getElementName() + "." + removeFileExt(cu.getElementName())); } }
From source file:com.android.ide.eclipse.adt.internal.launch.junit.AndroidJUnitPropertyTester.java
License:Open Source License
private boolean canLaunchAsJUnitTest(IJavaElement element) { try {// w ww . ja v a 2s. c o m switch (element.getElementType()) { case IJavaElement.JAVA_PROJECT: return true; // can run, let JDT detect if there are tests case IJavaElement.PACKAGE_FRAGMENT_ROOT: return false; // not supported by Android test runner case IJavaElement.PACKAGE_FRAGMENT: return ((IPackageFragment) element).hasChildren(); case IJavaElement.COMPILATION_UNIT: case IJavaElement.CLASS_FILE: case IJavaElement.TYPE: case IJavaElement.METHOD: return isJUnitTest(element); default: return false; } } catch (JavaModelException e) { return false; } }
From source file:com.blackducksoftware.integration.eclipseplugin.internal.listeners.ProjectDependenciesChangedListener.java
License:Apache License
private void visit(final IJavaElementDelta delta) { final IJavaElement el = delta.getElement(); switch (el.getElementType()) { case IJavaElement.JAVA_MODEL: { visitChildren(delta);//from w w w . j a v a2s .c o m break; } case IJavaElement.JAVA_PROJECT: { if (isClasspathChanged(delta.getFlags())) { visitChildren(delta); } break; } case IJavaElement.PACKAGE_FRAGMENT_ROOT: { if ((delta.getFlags() & IJavaElementDelta.F_REMOVED_FROM_CLASSPATH) != 0 || (delta.getKind() & IJavaElementDelta.REMOVED) != 0) { try { removeDependency(el); } catch (final CoreException | MalformedURLException e) { e.printStackTrace(); } } if ((delta.getFlags() & IJavaElementDelta.F_ADDED_TO_CLASSPATH) != 0 || (delta.getKind() & IJavaElementDelta.ADDED) != 0) { try { addDependency(el); } catch (final CoreException | MalformedURLException e) { e.printStackTrace(); } } break; } default: { break; } } }