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

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

Introduction

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

Prototype

int K_SOURCE

To view the source code for org.eclipse.jdt.core IPackageFragmentRoot K_SOURCE.

Click Source Link

Document

Kind constant for a source path root.

Usage

From source file:org.jbpm.gd.jpdl.wizard.NewTypeWizardAdapter.java

License:Open Source License

private void doAdapted() {
    //         source folder name, package name, class name
    int loc = className.indexOf(":"); //$NON-NLS-1$
    if (loc != -1) {
        if (loc < className.length()) {
            //            classArgs = className.substring(loc + 1, className.length());
            className = className.substring(0, loc);
        }//from   w w w.j a v  a2s.  c om
        if (loc > 0)
            className = className.substring(0, loc);
        else if (loc == 0)
            className = ""; //$NON-NLS-1$
    }
    classNameStatus = JavaConventions.validateJavaTypeName(className);

    loc = className.lastIndexOf('.');
    if (loc != -1) {
        packageName = className.substring(0, loc);
        className = className.substring(loc + 1);
        packageNameStatus = JavaConventions.validatePackageName(packageName);
        classNameStatus = JavaConventions.validateJavaTypeName(className);
    }
    if (javaProject == null)
        return;
    try {
        if (packageFragmentRoot == null) {
            IPackageFragmentRoot srcEntryDft = null;
            IPackageFragmentRoot[] roots = javaProject.getPackageFragmentRoots();
            for (int i = 0; i < roots.length; i++) {
                if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
                    srcEntryDft = roots[i];
                    break;
                }
            }
            if (srcEntryDft != null)
                packageFragmentRoot = srcEntryDft;
            else {
                packageFragmentRoot = javaProject.getPackageFragmentRoot(javaProject.getResource());
            }
            if (packageFragment == null && packageFragmentRoot != null && packageName != null
                    && packageName.length() > 0) {
                IFolder packageFolder = project.getFolder(packageName);
                packageFragment = packageFragmentRoot
                        .getPackageFragment(packageFolder.getProjectRelativePath().toOSString());
            }
        }
        //         superclass and interface
        if (this.rawInterfaces != null && this.rawInterfaces.size() > 0) {
            Iterator i = this.rawInterfaces.iterator();
            this.interfaces.clear();
            while (i.hasNext()) {
                String _interface = (String) i.next();
                // check interface name
                this.interfaces.add(_interface);
            }
        }
        if (this.superClassName != null && this.superClassName.length() > 0) {
            // check super class
        }

        rawData = Boolean.FALSE.booleanValue();
    } catch (JavaModelException e) {
        Logger.logError(e);
    }
}

From source file:org.key_project.key4eclipse.resources.util.KeYResourcesUtil.java

License:Open Source License

/**
 * Returns a {@link LinkedList} with all Java source folders ais {@link IPath}.
 * @param project - the project to search the source folders for.
 * @return the {@link LinkedList} with the source folders
 *///from   w  w  w  .  j  av a2  s . co m
public static LinkedList<IPath> getAllJavaSrcFolders(IProject project) {
    LinkedList<IPath> srcFolders = new LinkedList<IPath>();

    IJavaProject javaProject = JavaCore.create(project);
    IClasspathEntry[] classpathEntries;
    try {
        classpathEntries = javaProject.getResolvedClasspath(true);
        for (int i = 0; i < classpathEntries.length; i++) {
            IClasspathEntry entry = classpathEntries[i];
            if (entry.getContentKind() == IPackageFragmentRoot.K_SOURCE) {
                IPath path = entry.getPath();
                srcFolders.add(path);
            }
        }
    } catch (JavaModelException e) {
        srcFolders = new LinkedList<IPath>();
    }
    return srcFolders;
}

From source file:org.key_project.util.jdt.JDTUtil.java

License:Open Source License

/**
 * Checks if the given {@link IResource} is or is contained in a source folder of its project.
 * @param resource The {@link IResource} to check.
 * @return {@code true} is source folder of its project or contained in a source folder of its project, {@code false} is somewhere else.
 * @throws JavaModelException Occurred Exception.
 *///  w  w  w. jav  a2s .  co m
public static boolean isInSourceFolder(IResource resource) throws JavaModelException {
    boolean inSourceFolder = false;
    if (resource != null) {
        IJavaProject javaProject = getJavaProject(resource.getProject());
        if (javaProject != null && javaProject.exists()) {
            IClasspathEntry[] entries = javaProject.getRawClasspath();
            int i = 0;
            while (!inSourceFolder && i < entries.length) {
                if (entries[i].getContentKind() == IPackageFragmentRoot.K_SOURCE) {
                    IPackageFragmentRoot[] roots = javaProject.findPackageFragmentRoots(entries[i]);
                    int j = 0;
                    while (!inSourceFolder && j < roots.length) {
                        IResource rootResource = roots[j].getResource();
                        if (rootResource != null && rootResource.contains(resource)) {
                            inSourceFolder = true;
                        }
                        j++;
                    }
                }
                i++;
            }
        }
    }
    return inSourceFolder;
}

From source file:org.key_project.util.jdt.JDTUtil.java

License:Open Source License

/**
 * Returns all source {@link IPackageFragmentRoot}s.
 * @param javaProject The {@link IJavaProject} to read source {@link IPackageFragmentRoot}s from.
 * @return The found {@link IPackageFragmentRoot}s.
 * @throws JavaModelException Occurred Exception.
 *///from   w ww  .ja v a 2  s . com
public static List<IPackageFragmentRoot> getSourcePackageFragmentRoots(IJavaProject javaProject)
        throws JavaModelException {
    List<IPackageFragmentRoot> result = new LinkedList<IPackageFragmentRoot>();
    if (javaProject != null && javaProject.exists()) {
        IClasspathEntry[] entries = javaProject.getRawClasspath();
        for (IClasspathEntry entry : entries) {
            if (entry.getContentKind() == IPackageFragmentRoot.K_SOURCE
                    && entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
                IPackageFragmentRoot[] roots = javaProject.findPackageFragmentRoots(entry);
                CollectionUtil.addAll(result, roots);
            }
        }
    }
    return result;
}

From source file:org.key_project.util.jdt.JDTUtil.java

License:Open Source License

/**
 * Internal helper method that is used in {@link #getSourceLocations(IProject)}
 * to compute the source path. It is required to solve cycles in project dependencies.
 * @param project The given Project./*from w ww . j  av  a2  s.c om*/
 * @param alreadyHandledProjects The already handled {@link IProject} that don't need to be analysed again.
 * @return The found source locations in the file system.
 * @throws JavaModelException Occurred Exception.
 */
private static List<File> getSourceLocations(IProject project, Set<IProject> alreadyHandledProjects)
        throws JavaModelException {
    List<File> result = new LinkedList<File>();
    if (project != null) {
        Assert.isNotNull(alreadyHandledProjects);
        alreadyHandledProjects.add(project);
        IJavaProject javaProject = getJavaProject(project);
        if (javaProject != null && javaProject.exists()) {
            IClasspathEntry[] entries = javaProject.getRawClasspath();
            for (IClasspathEntry entry : entries) {
                if (entry.getContentKind() == IPackageFragmentRoot.K_SOURCE) {
                    List<File> location = getLocationFor(javaProject, entry, IPackageFragmentRoot.K_SOURCE,
                            alreadyHandledProjects);
                    if (location != null) {
                        result.addAll(location);
                    }
                }
            }
        }
    }
    return result;
}

From source file:org.key_project.util.jdt.JDTUtil.java

License:Open Source License

/**
 * Internal helper method that is used in {@link #getSourceResources(IProject)}
 * to compute the source path. It is required to solve cycles in project dependencies.
 * @param project The given Project./*from  www  .  ja  va2s. c  o m*/
 * @param alreadyHandledProjects The already handled {@link IProject} that don't need to be analysed again.
 * @return The found source {@link IResource}s in the workspace.
 * @throws JavaModelException Occurred Exception.
 */
private static List<IResource> getSourceResources(IProject project, Set<IProject> alreadyHandledProjects)
        throws JavaModelException {
    List<IResource> result = new LinkedList<IResource>();
    if (project != null) {
        Assert.isNotNull(alreadyHandledProjects);
        alreadyHandledProjects.add(project);
        IJavaProject javaProject = getJavaProject(project);
        if (javaProject != null && javaProject.exists()) {
            IClasspathEntry[] entries = javaProject.getRawClasspath();
            for (IClasspathEntry entry : entries) {
                if (entry.getContentKind() == IPackageFragmentRoot.K_SOURCE) {
                    List<IResource> location = getResourceFor(javaProject, entry, IPackageFragmentRoot.K_SOURCE,
                            alreadyHandledProjects);
                    if (location != null) {
                        result.addAll(location);
                    }
                }
            }
        }
    }
    return result;
}

From source file:org.libreoffice.ide.eclipse.java.JavaMainProvider.java

License:LGPL

/**
 * Recursive method to find the Classes and check their hierarchy.
 *
 * @param pElement the Java AST element for scan for XMain implementations
 * @return the names of the classes implementing the XMain interface in the
 *      Java AST element.//from   w ww . ja  v a 2 s  . c  o  m
 */
private Vector<String> getInternalMainNames(IParent pElement) {
    Vector<String> mains = new Vector<String>();

    try {
        for (IJavaElement child : pElement.getChildren()) {

            boolean visit = true;

            if (child instanceof IPackageFragmentRoot) {
                IPackageFragmentRoot root = (IPackageFragmentRoot) child;
                if (root.getKind() != IPackageFragmentRoot.K_SOURCE) {
                    visit = false;
                }
            }

            if (visit) {
                if (child instanceof ICompilationUnit) {
                    ICompilationUnit unit = (ICompilationUnit) child;
                    IType type = unit.findPrimaryType();

                    if (isMainImplementation(type)) {
                        mains.add(type.getFullyQualifiedName());
                    }
                } else if (child instanceof IParent) {
                    mains.addAll(getInternalMainNames((IParent) child));
                }
            }
        }
    } catch (Exception e) {
    }

    return mains;
}

From source file:org.limy.eclipse.qalab.ant.UmlgraphCreator.java

License:Open Source License

/**
 * @param targetEl/*  ww  w  . java 2 s . c  o m*/
 * @param env
 * @param targetProject
 * @return Element???? true
 * @throws CoreException 
 */
private boolean createJavadocElement(XmlElement targetEl, LimyQalabEnvironment env, IProject targetProject)
        throws CoreException {

    XmlElement javadocEl = createElement(targetEl, "javadoc");

    IJavaProject javaProject = JavaCore.create(targetProject);
    IPreferenceStore store = env.getStore();

    IPackageFragmentRoot[] roots = javaProject.getAllPackageFragmentRoots();

    // v?WFNg\?[XfBNg
    boolean isEmpty = true;
    for (IPackageFragmentRoot root : roots) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE && root.getJavaProject().equals(javaProject)) {

            IResource rootDir = root.getResource();
            if (((IContainer) rootDir).members().length > 0) {
                isEmpty = false;
            }
            XmlElement fileEl = createElement(javadocEl, "fileset", "dir", rootDir.getLocation().toString());
            fileEl.setAttribute("includes", "**/*.java");
            fileEl.setAttribute("excludes", "**/*Test.java");
        }
    }

    // \?[Xt@C??javadocvf?
    if (isEmpty) {
        targetEl.removeChild(javadocEl);
        return false;
    }

    javadocEl.setAttribute("destDir", "${dest.dir}/javadoc/" + targetProject.getName());

    javadocEl.setAttribute("Encoding", "${src.encoding}");
    javadocEl.setAttribute("classpathref", "all.classpath");
    javadocEl.setAttribute("private", "false");
    javadocEl.setAttribute("packagenames", "*");
    javadocEl.setAttribute("useexternalfile", "yes");

    XmlElement docletEl = createElement(javadocEl, "doclet");
    docletEl.setAttribute("name", "gr.spinellis.umlgraph.doclet.UmlGraph");
    docletEl.setAttribute("path", LimyQalabPluginUtils.getResourcePath("lib/UmlGraph.jar"));

    addParam(docletEl, "-collpackages", "java.util.*");
    if (store.getBoolean(LimyQalabConstants.UMLGRAPH_INFERREL)) {
        addParam(docletEl, "-inferrel", null);
    }
    if (store.getBoolean(LimyQalabConstants.UMLGRAPH_HORIZONTAL)) {
        addParam(docletEl, "-horizontal", null);
    }

    String resources = env.getStore().getString(LimyQalabConstants.EXCLUDE_JDEPENDS);
    String[] excludes = resources.split("\n");
    for (String exclude : excludes) {
        // ?K\\L java.* => ^java\..*
        // org.apache.* => ^org\.apache\..*
        if (exclude.length() > 0) {
            addParam(docletEl, "-hide", "^" + exclude.replaceAll("\\.", "\\\\.").replaceAll("\\*", ".*"));
        }
    }
    return true;
}

From source file:org.limy.eclipse.qalab.common.LimyQalabEnvironment.java

License:Open Source License

/**
 * Javav?WFNgS\?[XpX?iQ?v?WFNg?j?B//from  www.j ava2  s  . c om
 * @param project Javav?WFNg
 * @return S\?[XpX
 * @throws JavaModelException JavafO
 */
private Collection<IJavaElement> getAllJavaElements(IJavaProject project) throws JavaModelException {

    Collection<IJavaElement> results = new ArrayList<IJavaElement>();

    IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots();

    // v?WFNgS\?[XpXQ?v?WFNg?[v
    for (IPackageFragmentRoot root : roots) {
        if (root.getKind() == IPackageFragmentRoot.K_SOURCE) {
            results.add(root);
        }
    }
    return results;
}

From source file:org.limy.eclipse.qalab.common.LimyQalabEnvironment.java

License:Open Source License

/**
 * Javav?WFNg?o?fBNg?B/*  ww w  .j  av  a 2s  . c  o m*/
 * @param env 
 * @param enableRef Q?v?WFNg?
 * @return Javav?WFNg\?[XfBNg
 * @throws JavaModelException JavafO
 */
private Collection<IPath> privateGetBinPaths(LimyQalabEnvironment env, boolean enableRef)
        throws JavaModelException {

    IJavaProject project = env.getJavaProject();

    Set<IPath> results = new HashSet<IPath>();

    if (enableRef && store.getBoolean(LimyQalabConstants.ENABLE_REFPROJECT)) {

        // Q?v?WFNgL??
        IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots();
        for (IPackageFragmentRoot refRoot : roots) {
            if (refRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
                // Q?v?WFNg?[v
                IJavaProject refProject = refRoot.getJavaProject();
                LimyQalabUtils.appendProjectBinPaths(refProject, results);
            }
        }
    } else {
        // ftHgv?WFNg?ofBNg
        LimyQalabUtils.appendProjectBinPaths(project, results);
    }

    return results;
}