Example usage for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT

List of usage examples for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT.

Prototype

int PACKAGE_FRAGMENT_ROOT

To view the source code for org.eclipse.jdt.core IJavaElement PACKAGE_FRAGMENT_ROOT.

Click Source Link

Document

Constant representing a package fragment root.

Usage

From source file:org.dev.toos.constcode.model.ConstModel.java

License:Apache License

/**?*/
private void iterateIJavaElement(IJavaElement atElement, String resourceName, Map<String, Object> findRes)
        throws CoreException {
    if (atElement.exists() == false)
        return;// w w  w .j  a v  a  2s.c  o m
    switch (atElement.getElementType()) {
    /*package root*/
    case IJavaElement.PACKAGE_FRAGMENT_ROOT: {
        IPackageFragmentRoot e = (IPackageFragmentRoot) atElement;
        Object[] resourcesItem = e.getNonJavaResources();
        if (resourcesItem != null)
            for (Object element : resourcesItem)
                iterateItem(element, resourceName, findRes);
        //            IJavaElement[] childs = e.getChildren();
        //            if (childs != null)
        //                for (IJavaElement elementItem : childs)
        //                    iterateItem(elementItem, resourceName);
        break;
    }
    /*package*/
    case IJavaElement.PACKAGE_FRAGMENT: {
        IPackageFragment e = (IPackageFragment) atElement;
        Object[] resourcesItem = e.getNonJavaResources();
        if (resourcesItem != null)
            for (Object element : resourcesItem)
                iterateItem(element, resourceName, findRes);
        //            IJavaElement[] childs = e.getChildren();
        //            if (childs != null)
        //                for (IJavaElement elementItem : childs)
        //                    iterateItem(elementItem, resourceName);
        break;
    }
    }
}

From source file:org.eclim.plugin.jdt.command.search.SearchCommand.java

License:Open Source License

@Override
public Object execute(CommandLine commandLine) throws Exception {
    List<SearchMatch> matches = executeSearch(commandLine);
    String projectName = commandLine.getValue(Options.NAME_OPTION);
    IProject project = projectName != null ? ProjectUtils.getProject(projectName) : null;

    String[] sortKeys = getSortKeys(project);

    // Store the results keyed by the sort key
    Map<String, List<Position>> positionMap = new HashMap<String, List<Position>>();

    for (SearchMatch match : matches) {
        IJavaElement element = (IJavaElement) match.getElement();
        if (element != null) {
            int elementType = element.getElementType();
            if (elementType != IJavaElement.PACKAGE_FRAGMENT
                    && elementType != IJavaElement.PACKAGE_FRAGMENT_ROOT) {
                Position result = createPosition(project, match);
                if (result != null) {
                    String sortKey = getSortKey(result, sortKeys);
                    List<Position> positions = positionMap.get(sortKey);
                    if (positions == null) {
                        positions = new ArrayList<Position>();
                        positionMap.put(sortKey, positions);
                    }/*from   ww w .  ja v  a  2  s  . com*/

                    positions.add(result);
                }
            }
        }
    }

    // Assemble the final results in the sorted order
    List<Position> results = null;
    for (String sortKey : sortKeys) {
        List<Position> positions = positionMap.get(sortKey);
        if (positions == null) {
            continue;
        }

        if (results == null) {
            results = positions;
        } else {
            results.addAll(positions);
        }
    }

    return results == null ? Collections.emptyList() : results;
}

From source file:org.eclipse.ajdt.internal.ui.ajdocexport.AJdocOptionsManager.java

License:Open Source License

private IJavaElement getSelectableJavaElement(Object obj) throws JavaModelException {
    IJavaElement je = null;//from   ww w . j  ava2s.co m
    if (obj instanceof IAdaptable) {
        je = (IJavaElement) ((IAdaptable) obj).getAdapter(IJavaElement.class);
    }

    if (je != null) {
        switch (je.getElementType()) {
        case IJavaElement.JAVA_MODEL:
        case IJavaElement.JAVA_PROJECT:
        case IJavaElement.CLASS_FILE:
            break;
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
            if (containsCompilationUnits((IPackageFragmentRoot) je)) {
                return je;
            }
            break;
        case IJavaElement.PACKAGE_FRAGMENT:
            if (containsCompilationUnits((IPackageFragment) je)) {
                return je;
            }
            break;
        default:
            ICompilationUnit cu = (ICompilationUnit) je.getAncestor(IJavaElement.COMPILATION_UNIT);
            if (cu != null) {
                return cu;
            }
        }
        IJavaProject project = je.getJavaProject();
        if (isValidProject(project))
            return project;
    }

    return null;
}

From source file:org.eclipse.ajdt.internal.ui.editor.actions.AJOrganizeImportsAction.java

License:Open Source License

private ICompilationUnit[] getCompilationUnits(IStructuredSelection selection) {
    HashSet result = new HashSet();
    Object[] selected = selection.toArray();
    for (int i = 0; i < selected.length; i++) {
        try {/*w  w w.j av  a2s. c  o m*/
            if (selected[i] instanceof IJavaElement) {
                IJavaElement elem = (IJavaElement) selected[i];
                if (elem.exists()) {

                    switch (elem.getElementType()) {
                    case IJavaElement.TYPE:
                        if (elem.getParent().getElementType() == IJavaElement.COMPILATION_UNIT) {
                            result.add(elem.getParent());
                        }
                        break;
                    case IJavaElement.COMPILATION_UNIT:
                        result.add(elem);
                        break;
                    case IJavaElement.IMPORT_CONTAINER:
                        result.add(elem.getParent());
                        break;
                    case IJavaElement.PACKAGE_FRAGMENT:
                        collectCompilationUnits((IPackageFragment) elem, result);
                        break;
                    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
                        collectCompilationUnits((IPackageFragmentRoot) elem, result);
                        break;
                    case IJavaElement.JAVA_PROJECT:
                        IPackageFragmentRoot[] roots = ((IJavaProject) elem).getPackageFragmentRoots();
                        for (int k = 0; k < roots.length; k++) {
                            collectCompilationUnits(roots[k], result);
                        }
                        break;
                    }
                }
            } else if (selected[i] instanceof LogicalPackage) {
                IPackageFragment[] packageFragments = ((LogicalPackage) selected[i]).getFragments();
                for (int k = 0; k < packageFragments.length; k++) {
                    IPackageFragment pack = packageFragments[k];
                    if (pack.exists()) {
                        collectCompilationUnits(pack, result);
                    }
                }
            }
        } catch (JavaModelException e) {
            if (JavaModelUtil.isExceptionToBeLogged(e))
                JavaPlugin.log(e);
        }
    }
    return (ICompilationUnit[]) result.toArray(new ICompilationUnit[result.size()]);
}

From source file:org.eclipse.ajdt.internal.ui.editor.actions.AJOrganizeImportsAction.java

License:Open Source License

private boolean isEnabled(IStructuredSelection selection) {
    Object[] selected = selection.toArray();
    for (int i = 0; i < selected.length; i++) {
        try {/*w w  w .  j  a va 2  s  .c  o m*/
            if (selected[i] instanceof IJavaElement) {
                IJavaElement elem = (IJavaElement) selected[i];
                if (elem.exists()) {
                    switch (elem.getElementType()) {
                    case IJavaElement.TYPE:
                        return elem.getParent().getElementType() == IJavaElement.COMPILATION_UNIT; // for browsing perspective
                    case IJavaElement.COMPILATION_UNIT:
                        return true;
                    case IJavaElement.IMPORT_CONTAINER:
                        return true;
                    case IJavaElement.PACKAGE_FRAGMENT:
                    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
                        IPackageFragmentRoot root = (IPackageFragmentRoot) elem
                                .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
                        return (root.getKind() == IPackageFragmentRoot.K_SOURCE);
                    case IJavaElement.JAVA_PROJECT:
                        // https://bugs.eclipse.org/bugs/show_bug.cgi?id=65638
                        return true;
                    }
                }
            } else if (selected[i] instanceof LogicalPackage) {
                return true;
            }
        } catch (JavaModelException e) {
            if (!e.isDoesNotExist()) {
                JavaPlugin.log(e);
            }
        }
    }
    return false;
}

From source file:org.eclipse.ajdt.internal.ui.wizards.exports.AJJarFileExportOperation.java

License:Open Source License

private void exportJavaElement(IProgressMonitor progressMonitor, IJavaElement je) throws InterruptedException {
    if (je.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT && ((IPackageFragmentRoot) je).isArchive())
        return;// w  w w  .j av  a 2 s  . com

    Object[] children = fJavaElementContentProvider.getChildren(je);
    for (int i = 0; i < children.length; i++)
        exportElement(children[i], progressMonitor);
}

From source file:org.eclipse.ajdt.internal.ui.wizards.exports.AJJarPackageWizard.java

License:Open Source License

private void addJavaElement(List selectedElements, IJavaElement je) {
    if (je.getElementType() == IJavaElement.COMPILATION_UNIT)
        selectedElements.add(je);//w w  w. j a v a2 s.c om
    else if (je.getElementType() == IJavaElement.CLASS_FILE)
        selectedElements.add(je);
    else if (je.getElementType() == IJavaElement.JAVA_PROJECT)
        selectedElements.add(je);
    else if (je.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
        if (!JavaModelUtil.getPackageFragmentRoot(je).isArchive())
            selectedElements.add(je);
    } else if (je.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT) {
        if (!((IPackageFragmentRoot) je).isArchive())
            selectedElements.add(je);
    } else {
        IOpenable openable = je.getOpenable();
        if (openable instanceof ICompilationUnit)
            selectedElements.add(((ICompilationUnit) openable).getPrimary());
        else if (openable instanceof IClassFile && !JavaModelUtil.getPackageFragmentRoot(je).isArchive())
            selectedElements.add(openable);
    }
}

From source file:org.eclipse.ajdt.internal.ui.wizards.exports.AJJarPackageWizardPage.java

License:Open Source License

protected boolean validateSourceGroup() {
    if (!(fExportClassFilesCheckbox.getSelection() || fExportOutputFoldersCheckbox.getSelection()
            || fExportJavaFilesCheckbox.getSelection())) {
        setErrorMessage(JarPackagerMessages.JarPackageWizardPage_error_noExportTypeChecked);
        return false;
    }/*from  w w w .j  a  va 2  s.c om*/

    if (getSelectedResources().size() == 0) {
        if (getErrorMessage() != null)
            setErrorMessage(null);
        return false;
    }
    if (fExportClassFilesCheckbox.getSelection() || fExportOutputFoldersCheckbox.getSelection())
        return true;

    // Source file only export - check if there are source files
    Iterator iter = getSelectedResourcesIterator();
    while (iter.hasNext()) {
        Object element = iter.next();
        if (element instanceof IClassFile) {
            IPackageFragmentRoot root = (IPackageFragmentRoot) ((IClassFile) element)
                    .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
            if (root == null)
                continue;
            IClasspathEntry cpEntry;
            try {
                cpEntry = root.getRawClasspathEntry();
            } catch (JavaModelException e) {
                continue;
            }
            if (cpEntry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
                return true;
            }
        } else {
            return true;
        }
    }

    if (getErrorMessage() != null)
        setErrorMessage(null);
    return false;
}

From source file:org.eclipse.ajdt.internal.ui.wizards.exports.AJJarPackageWizardPage.java

License:Open Source License

private Set getCorrespondingContainers(Set elements) {
    Set javaElementResources = new HashSet(elements.size());
    Iterator iter = elements.iterator();
    while (iter.hasNext()) {
        Object element = iter.next();
        if (element instanceof IJavaElement) {
            IJavaElement je = (IJavaElement) element;
            int type = je.getElementType();
            if (type == IJavaElement.JAVA_PROJECT || type == IJavaElement.PACKAGE_FRAGMENT
                    || type == IJavaElement.PACKAGE_FRAGMENT_ROOT) {
                // exclude default package since it is covered by the root
                if (!(type == IJavaElement.PACKAGE_FRAGMENT
                        && ((IPackageFragment) element).isDefaultPackage())) {
                    Object resource;
                    try {
                        resource = je.getCorrespondingResource();
                    } catch (JavaModelException ex) {
                        resource = null;
                    }//from w  w  w .  jav  a2 s.  co m
                    if (resource != null)
                        javaElementResources.add(resource);
                }
            }
        }
    }
    return javaElementResources;
}

From source file:org.eclipse.ajdt.internal.ui.wizards.exports.ContainerFilter.java

License:Open Source License

/**
 * Returns the result of this filter, when applied to the
 * given inputs./* ww  w .j  a v a2  s.co m*/
 *
 * @param inputs the set of elements to 
 * @return Returns true if element should be included in filtered set
 */
public boolean select(Viewer viewer, Object parent, Object element) {
    boolean isContainer = element instanceof IContainer;
    if (!isContainer && element instanceof IJavaElement) {
        int type = ((IJavaElement) element).getElementType();
        isContainer = type == IJavaElement.JAVA_MODEL || type == IJavaElement.JAVA_PROJECT
                || type == IJavaElement.PACKAGE_FRAGMENT || type == IJavaElement.PACKAGE_FRAGMENT_ROOT;
    }
    return (fFilterContainers && !isContainer) || (!fFilterContainers && isContainer);
}