List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot K_BINARY
int K_BINARY
To view the source code for org.eclipse.jdt.core IPackageFragmentRoot K_BINARY.
Click Source Link
From source file:com.motorola.studio.android.common.utilities.EclipseUtils.java
License:Apache License
/** * Gets the default package from project. * @param javaProject/* www . jav a 2 s . com*/ * @return the project's default package. * @throws JavaModelException */ public static IPackageFragment getDefaultPackageFragment(IJavaProject javaProject) throws JavaModelException { IPackageFragment pack = null; AndroidManifestFile manifest = null; if ((javaProject != null) && javaProject.isOpen()) { // First, tries to get the default package from the AndroidManifest.xml file try { manifest = AndroidProjectManifestFile.getFromProject(javaProject.getProject()); } catch (AndroidException e) { // Do nothing } catch (CoreException e) { // Do nothing } if (manifest != null) { String defaultPackage = manifest.getManifestNode().getPackageName(); if ((defaultPackage != null) && (defaultPackage.trim().length() > 0)) { IPackageFragment[] allPacks = javaProject.getPackageFragments(); if (allPacks != null) { for (IPackageFragment frag : allPacks) { if (frag.getElementName().equals(defaultPackage)) { pack = frag; break; } } } } } // If the default package could not get from the AndroidManifest.xml file, search for // one in the project if (pack == null) { IPackageFragment[] packs = javaProject.getPackageFragments(); if (packs != null) { for (int i = 0; (i < packs.length) && (pack == null); i++) { if (packs[i].getKind() != IPackageFragmentRoot.K_BINARY) { if (!isInsideGenFolder(packs[i]) && !packs[i].isDefaultPackage() && packs[i].getElementName().contains(".") && packs[i].exists()) //$NON-NLS-1$ { pack = packs[i]; break; } } } } } } return pack; }
From source file:com.mountainminds.eclemma.autoMerge.OldFileAnalyzer.java
License:Open Source License
private IResource getClassfilesLocation(IPackageFragmentRoot root) throws CoreException { // For binary roots the underlying resource directly points to class files: if (root.getKind() == IPackageFragmentRoot.K_BINARY) { return root.getResource(); }/*from w w w .ja v a2 s .co m*/ // For source roots we need to find the corresponding output folder: IPath path = root.getRawClasspathEntry().getOutputLocation(); if (path == null) { path = root.getJavaProject().getOutputLocation(); } return root.getResource().getWorkspace().getRoot().findMember(path); }
From source file:com.mountainminds.eclemma.internal.core.analysis.TypeTraverser.java
License:Open Source License
private void processPackageFragment(ITypeVisitor visitor, IPackageFragment fragment, IProgressMonitor monitor) throws JavaModelException { switch (fragment.getKind()) { case IPackageFragmentRoot.K_SOURCE: final ICompilationUnit[] units = fragment.getCompilationUnits(); monitor.beginTask("", units.length); //$NON-NLS-1$ for (final ICompilationUnit unit : units) { if (monitor.isCanceled()) { break; }/* w w w . jav a2 s .co m*/ processCompilationUnit(visitor, unit, monitor); monitor.worked(1); } break; case IPackageFragmentRoot.K_BINARY: final IClassFile[] classfiles = fragment.getClassFiles(); monitor.beginTask("", classfiles.length); //$NON-NLS-1$ for (final IClassFile classfile : classfiles) { if (monitor.isCanceled()) { break; } processClassFile(visitor, classfile, monitor); monitor.worked(1); } break; } monitor.done(); }
From source file:com.mountainminds.eclemma.internal.core.instr.ClassFiles.java
License:Open Source License
/** * Create a new instance containing a single package fragment root with the * given class file location./*from w w w. j av a2s . co m*/ * * @param root * package fragment root * @param location * location of the class files * @throws JavaModelException * thrown when a problem with the underlying Java model occures */ public ClassFiles(IPackageFragmentRoot root, IPath location) throws JavaModelException { this(new IPackageFragmentRoot[] { root }, location, root.getKind() == IPackageFragmentRoot.K_BINARY); }
From source file:com.mountainminds.eclemma.internal.core.instr.ClassFiles.java
License:Open Source License
/** * Creates a new ClassFiles instance with the given package fragment root * added. Mixing source and binary package fragment roots will result in an * exception./*from w w w. j a v a2 s. co m*/ * * @param root * the package fragment root to add * @return new instance * @throws JavaModelException * thrown when a problem with the underlying Java model occures */ public ClassFiles addRoot(IPackageFragmentRoot root) throws JavaModelException { IPackageFragmentRoot[] newroots = new IPackageFragmentRoot[roots.length + 1]; System.arraycopy(roots, 0, newroots, 0, roots.length); newroots[roots.length] = root; return new ClassFiles(newroots, location, binary && root.getKind() == IPackageFragmentRoot.K_BINARY); }
From source file:com.mountainminds.eclemma.internal.ui.coverageview.CellTextConverter.java
License:Open Source License
private String getSimpleTextForJavaElement(Object element) { if (element instanceof IPackageFragmentRoot) { final IPackageFragmentRoot root = (IPackageFragmentRoot) element; // tweak label if the package fragment root is the project itself: if (root.getElementName().length() == 0) { element = root.getJavaProject(); }//from w ww . jav a 2s .co m // shorten JAR references try { if (root.getKind() == IPackageFragmentRoot.K_BINARY) { return root.getPath().lastSegment(); } } catch (JavaModelException e) { EclEmmaUIPlugin.log(e); } } return workbenchLabelProvider.getText(element); }
From source file:com.mountainminds.eclemma.internal.ui.ScopeViewer.java
License:Open Source License
/** * Calculates a label for the class path of the given package fragment root. * For external entries this is the full path, otherwise it is the project * relative path./*from w w w .j a va2 s .c o m*/ * * @param root * package fragment root * @return label for the class path entry */ private static String getPathLabel(IPackageFragmentRoot root) { final IPath path = root.getPath(); try { if (root.getKind() == IPackageFragmentRoot.K_BINARY) { return path.lastSegment(); } } catch (JavaModelException e) { EclEmmaUIPlugin.log(e); } return path.removeFirstSegments(1).toString(); }
From source file:com.redhat.ceylon.eclipse.code.explorer.JavaElementImageProvider.java
License:Open Source License
/** * Returns an image descriptor for a java element. This is the base image, no overlays. * @param element the element// ww w . j a va 2 s .c om * @param renderFlags the image flags * @return returns the image descriptor */ public ImageDescriptor getBaseImageDescriptor(IJavaElement element, int renderFlags) { try { switch (element.getElementType()) { case IJavaElement.INITIALIZER: return JavaPluginImages.DESC_MISC_PRIVATE; // 23479 case IJavaElement.METHOD: { IMethod method = (IMethod) element; IType declType = method.getDeclaringType(); int flags = method.getFlags(); if (declType.isEnum() && isDefaultFlag(flags) && method.isConstructor()) return JavaPluginImages.DESC_MISC_PRIVATE; return getMethodImageDescriptor(JavaModelUtil.isInterfaceOrAnnotation(declType), flags); } case IJavaElement.FIELD: { IMember member = (IMember) element; IType declType = member.getDeclaringType(); return getFieldImageDescriptor(JavaModelUtil.isInterfaceOrAnnotation(declType), member.getFlags()); } case IJavaElement.LOCAL_VARIABLE: return JavaPluginImages.DESC_OBJS_LOCAL_VARIABLE; case IJavaElement.PACKAGE_DECLARATION: return JavaPluginImages.DESC_OBJS_PACKDECL; case IJavaElement.IMPORT_DECLARATION: return JavaPluginImages.DESC_OBJS_IMPDECL; case IJavaElement.IMPORT_CONTAINER: return JavaPluginImages.DESC_OBJS_IMPCONT; case IJavaElement.TYPE: { IType type = (IType) element; IType declType = type.getDeclaringType(); boolean isInner = declType != null; boolean isInInterfaceOrAnnotation = isInner && JavaModelUtil.isInterfaceOrAnnotation(declType); return getTypeImageDescriptor(isInner, isInInterfaceOrAnnotation, type.getFlags(), useLightIcons(renderFlags)); } case IJavaElement.PACKAGE_FRAGMENT_ROOT: { IPackageFragmentRoot root = (IPackageFragmentRoot) element; IPath attach = root.getSourceAttachmentPath(); if (root.getKind() == IPackageFragmentRoot.K_BINARY) { if (root.isArchive()) { if (root.isExternal()) { if (attach == null) { return JavaPluginImages.DESC_OBJS_EXTJAR; } else { return JavaPluginImages.DESC_OBJS_EXTJAR_WSRC; } } else { if (attach == null) { return JavaPluginImages.DESC_OBJS_JAR; } else { return JavaPluginImages.DESC_OBJS_JAR_WSRC; } } } else { if (attach == null) { return JavaPluginImages.DESC_OBJS_CLASSFOLDER; } else { return JavaPluginImages.DESC_OBJS_CLASSFOLDER_WSRC; } } } else { return JavaPluginImages.DESC_OBJS_PACKFRAG_ROOT; } } case IJavaElement.PACKAGE_FRAGMENT: return getPackageFragmentIcon(element); case IJavaElement.COMPILATION_UNIT: return JavaPluginImages.DESC_OBJS_CUNIT; case IJavaElement.CLASS_FILE: /* this is too expensive for large packages try { IClassFile cfile= (IClassFile)element; if (cfile.isClass()) return JavaPluginImages.IMG_OBJS_CFILECLASS; return JavaPluginImages.IMG_OBJS_CFILEINT; } catch(JavaModelException e) { // fall through; }*/ return JavaPluginImages.DESC_OBJS_CFILE; case IJavaElement.JAVA_PROJECT: IJavaProject jp = (IJavaProject) element; if (jp.getProject().isOpen()) { IProject project = jp.getProject(); IWorkbenchAdapter adapter = (IWorkbenchAdapter) project.getAdapter(IWorkbenchAdapter.class); if (adapter != null) { ImageDescriptor result = adapter.getImageDescriptor(project); if (result != null) return result; } return DESC_OBJ_PROJECT; } return DESC_OBJ_PROJECT_CLOSED; case IJavaElement.JAVA_MODEL: return JavaPluginImages.DESC_OBJS_JAVA_MODEL; case IJavaElement.TYPE_PARAMETER: return JavaPluginImages.DESC_OBJS_TYPEVARIABLE; case IJavaElement.ANNOTATION: return JavaPluginImages.DESC_OBJS_ANNOTATION; default: // ignore. Must be a new, yet unknown Java element // give an advanced IWorkbenchAdapter the chance IWorkbenchAdapter wbAdapter = (IWorkbenchAdapter) element.getAdapter(IWorkbenchAdapter.class); if (wbAdapter != null && !(wbAdapter instanceof JavaWorkbenchAdapter)) { // avoid recursion ImageDescriptor imageDescriptor = wbAdapter.getImageDescriptor(element); if (imageDescriptor != null) { return imageDescriptor; } } return JavaPluginImages.DESC_OBJS_GHOST; } } catch (JavaModelException e) { if (e.isDoesNotExist()) return JavaPluginImages.DESC_OBJS_UNKNOWN; JavaPlugin.log(e); return JavaPluginImages.DESC_OBJS_GHOST; } }
From source file:com.siteview.mde.internal.core.builders.BundleErrorReporter.java
License:Open Source License
private void addProjectPackages(IProject proj) { try {//from w w w .j a v a2s . c om if (proj.hasNature(JavaCore.NATURE_ID)) { IJavaProject jp = JavaCore.create(proj); IPackageFragmentRoot[] roots = jp.getPackageFragmentRoots(); for (int i = 0; i < roots.length; i++) { if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE || (roots[i].getKind() == IPackageFragmentRoot.K_BINARY && !roots[i].isExternal())) { IJavaElement[] children = roots[i].getChildren(); for (int j = 0; j < children.length; j++) { IPackageFragment f = (IPackageFragment) children[j]; String name = f.getElementName(); if (name.equals("")) //$NON-NLS-1$ name = "."; //$NON-NLS-1$ if (f.hasChildren() || f.getNonJavaResources().length > 0) fProjectPackages.add(name); } } } } } catch (CoreException ce) { } }
From source file:com.siteview.mde.internal.core.ClasspathComputer.java
License:Open Source License
private static void addSourceFolder(IBuildEntry buildEntry, IProject project, HashSet paths, ArrayList result) throws CoreException { String[] folders = buildEntry.getTokens(); for (int j = 0; j < folders.length; j++) { String folder = folders[j]; IPath path = project.getFullPath().append(folder); if (paths.add(path)) { if (project.findMember(folder) == null) { CoreUtility.createFolder(project.getFolder(folder)); } else { IPackageFragmentRoot root = JavaCore.create(project).getPackageFragmentRoot(path.toString()); if (root.exists() && root.getKind() == IPackageFragmentRoot.K_BINARY) { result.add(root.getRawClasspathEntry()); continue; }/* ww w .j a v a2 s . c om*/ } result.add(JavaCore.newSourceEntry(path)); } } }