Example usage for org.eclipse.jdt.core IPackageFragmentRoot getKind

List of usage examples for org.eclipse.jdt.core IPackageFragmentRoot getKind

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IPackageFragmentRoot getKind.

Prototype

int getKind() throws JavaModelException;

Source Link

Document

Returns this package fragment root's kind encoded as an integer.

Usage

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.// w  w w.  ja  va 2s .co  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.mountainminds.eclemma.internal.ui.ScopeViewer.java

License:Open Source License

/**
 * Attaches the viewer to the given table.
 * /*from   w ww  . jav  a 2 s  .  c  o m*/
 * @param table
 *          view table
 */
public ScopeViewer(Table table) {
    this.table = table;
    viewer = new CheckboxTableViewer(table);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new PackageFragmentRootLabelProvider());
    viewer.setSorter(new PackageFragmentRootSorter());
    viewer.addFilter(new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (includebinaries) {
                return true;
            }
            final IPackageFragmentRoot root = (IPackageFragmentRoot) element;
            try {
                return root.getKind() == IPackageFragmentRoot.K_SOURCE;
            } catch (JavaModelException e) {
                EclEmmaUIPlugin.log(e);
                return false;
            }
        }
    });
    viewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            fireSelectionEvent();
        }
    });
}

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/* w  w  w. ja v  a  2 s.  co  m*/
 * @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.redhat.ceylon.eclipse.core.classpath.CeylonClasspathContainer.java

License:Apache License

public static boolean isProjectModule(IJavaProject javaProject, Module module) throws JavaModelException {
    boolean isSource = false;
    for (IPackageFragmentRoot s : javaProject.getPackageFragmentRoots()) {
        if (s.getKind() == IPackageFragmentRoot.K_SOURCE
                && s.getPackageFragment(module.getNameAsString()).exists()) {
            isSource = true;/* w  w w  . j  a  v a2  s.  c  o  m*/
            break;
        }
    }
    return isSource;
}

From source file:com.redhat.ceylon.eclipse.core.classpath.CeylonProjectModulesContainer.java

License:Apache License

public static boolean isProjectModule(IJavaProject javaProject, Module module) throws JavaModelException {
    boolean isSource = false;
    for (IPackageFragmentRoot s : javaProject.getPackageFragmentRoots()) {
        if (s.exists() && javaProject.isOnClasspath(s) && s.getKind() == IPackageFragmentRoot.K_SOURCE
                && s.getPackageFragment(module.getNameAsString()).exists()) {
            isSource = true;/*from  w ww  .j av a  2 s .  c o m*/
            break;
        }
    }
    return isSource;
}

From source file:com.redhat.ceylon.eclipse.core.model.JDTModuleManager.java

License:Open Source License

private static boolean moduleFileInProject(String moduleName, IJavaProject p) {
    if (p == null) {
        return false;
    }//from   w  ww  .  ja  v  a2s . c  o m
    try {
        for (IPackageFragmentRoot sourceFolder : p.getPackageFragmentRoots()) {
            if (!sourceFolder.isArchive() && sourceFolder.exists()
                    && sourceFolder.getKind() == IPackageFragmentRoot.K_SOURCE
                    && sourceFolder.getPackageFragment(moduleName).exists()) {
                return true;
            }
            /*IPath moduleFile = sourceFolder.append(moduleName.replace('.', '/') + 
                "/module.ceylon").makeRelativeTo(p.getFullPath());
            if (p.getFile(moduleFile).exists()) {
            return true;
            }*/
        }
    } catch (JavaModelException e) {
        e.printStackTrace();
    }
    return false;
}

From source file:com.redhat.ceylon.eclipse.core.model.loader.JDTModuleManager.java

License:Open Source License

private boolean moduleFileInProject(String moduleName, IJavaProject p) {
    try {//  w w  w .java 2s.  co m
        for (IPackageFragmentRoot sourceFolder : p.getPackageFragmentRoots()) {
            if (sourceFolder.getKind() == IPackageFragmentRoot.K_SOURCE && !sourceFolder.isArchive()
                    && sourceFolder.getPackageFragment(moduleName).exists()) {
                return true;
            }
            /*IPath moduleFile = sourceFolder.append(moduleName.replace('.', '/') + 
                  "/module.ceylon").makeRelativeTo(p.getFullPath());
            if (p.getFile(moduleFile).exists()) {
                return true;
            }*/
        }
    } catch (JavaModelException e) {
        e.printStackTrace();
    }
    return false;
}

From source file:com.sabre.buildergenerator.TestHelper.java

License:Open Source License

public static IPackageFragmentRoot getSourceRoot(IJavaProject javaProject) throws JavaModelException {
    IPackageFragmentRoot sourceRoot = null;
    for (IPackageFragmentRoot pfr : javaProject.getPackageFragmentRoots()) {
        if (pfr.getKind() == IPackageFragmentRoot.K_SOURCE) {
            sourceRoot = pfr;/*from w  w w . j a  v a 2  s  . c o  m*/
        }
    }
    return sourceRoot;
}

From source file:com.sabre.buildergenerator.ui.wizard.GenerateBuilderWizardPage.java

License:Open Source License

private IPackageFragment[] getSourcePackages() throws JavaModelException {
    List<IPackageFragment> packages = new ArrayList<IPackageFragment>();

    for (IPackageFragmentRoot packageFragmentRoot : getJavaProject().getPackageFragmentRoots()) {
        if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
            for (IJavaElement element : packageFragmentRoot.getChildren()) {
                if (element instanceof IPackageFragment) {
                    packages.add((IPackageFragment) element);
                }/*from  w w w.  j a  v a 2s. co  m*/
            }
        }
    }

    return packages.toArray(new IPackageFragment[packages.size()]);
}

From source file:com.sabre.buildergenerator.ui.wizard.SourceFolderSelectDialog.java

License:Open Source License

private void initElements(IJavaProject javaProject) {
    List<IPackageFragmentRoot> roots = new LinkedList<IPackageFragmentRoot>();

    try {//from w  w w .ja v  a  2 s . c o  m
        for (IPackageFragmentRoot root : javaProject.getPackageFragmentRoots()) {
            if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
                roots.add(root);
            }
        }
    } catch (JavaModelException e) {
        throw new RuntimeException(e);
    }

    setElements(roots.toArray(new IPackageFragmentRoot[roots.size()]));
}