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

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

Introduction

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

Prototype

int PACKAGE_FRAGMENT

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

Click Source Link

Document

Constant representing a package fragment.

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;/*from   ww w  .j  av  a 2s.  c om*/
    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);
                    }/* ww w.ja  va 2  s  .  c  om*/

                    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   w w  w .j  av a2s . 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 {// www.j  av  a 2 s  .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 .  ja  va  2 s.co  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.refactoring.pullout.PullOutRefactoring.java

License:Open Source License

/**
 * Retrieve package name of a IJavaElement.
 * @return The name of the package, or null if the IJavaElement is not nested inside a IPackagFragment.
 *///  www  . j  av a 2  s.c  om
private String getPackageName(IJavaElement el) {
    IPackageFragment pkg = (IPackageFragment) el.getAncestor(IJavaElement.PACKAGE_FRAGMENT);
    if (pkg == null)
        return null;
    return pkg.getElementName();
}

From source file:org.eclipse.ajdt.internal.ui.visualiser.AJDTContentProvider.java

License:Open Source License

/**
 * Get the data for the current selection.
 * /*ww w . ja v a 2s.com*/
 * @param members -
 *            add members to the List being returned if true, otherwise add
 *            groups
 * @return data
 */
private void updateData() {

    if (ProviderManager.getMarkupProvider() instanceof AJDTMarkupProvider) {
        ((AJDTMarkupProvider) ProviderManager.getMarkupProvider()).resetMarkupsAndKinds();
    }
    long stime = System.currentTimeMillis();
    List<IGroup> newGroups = new ArrayList<IGroup>();
    List<IMember> newMembers = new ArrayList<IMember>();
    if (currentProject != null) {

        try {
            if (currentlySelectedJE.getElementType() == IJavaElement.JAVA_PROJECT) {
                // Process contents of a Java project
                IPackageFragment[] packageFragments = ((IJavaProject) currentlySelectedJE)
                        .getPackageFragments();
                for (int i = 0; i < packageFragments.length; i++) {
                    if (!(packageFragments[i].isReadOnly())) {
                        addMembersAndGroups(newGroups, newMembers, packageFragments[i]);
                    }
                }
            } else if (currentlySelectedJE.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
                // Process contents of a Java package(fragment)
                IPackageFragment packageFragment = (IPackageFragment) currentlySelectedJE;
                addMembersAndGroups(newGroups, newMembers, packageFragment);
            } else if (currentlySelectedJE.getElementType() == IJavaElement.COMPILATION_UNIT) {
                // Process individually selected compilation units
                JDTMember member = null;

                if (getIncludedFiles(currentProject.getProject()).contains(currentlySelectedJE.getResource())) {
                    String memberName = currentlySelectedJE.getElementName();
                    if (memberName.endsWith(".java")) { //$NON-NLS-1$
                        memberName = memberName.substring(0, memberName.length() - 5);
                    } else if (memberName.endsWith(".aj")) { //$NON-NLS-1$
                        memberName = memberName.substring(0, memberName.length() - 3);
                    }
                    member = new JDTMember(memberName, currentlySelectedJE);
                    member.setSize(getLength((ICompilationUnit) currentlySelectedJE));
                    newMembers.add(member);
                }
                if (member != null) {
                    IPackageFragment packageFrag = (IPackageFragment) ((ICompilationUnit) currentlySelectedJE)
                            .getParent();
                    boolean defaultPackage = packageFrag.isDefaultPackage();
                    // ?!? Need to confirm a group for the pkg frag is OK in
                    // the case of a selection like thiss
                    IGroup group = new JDTGroup(packageFrag.getElementName());
                    if (defaultPackage) {
                        group.setName("(default package)"); //$NON-NLS-1$
                        group.setTooltip("(default package)"); //$NON-NLS-1$
                    }
                    if (defaultPackage) {
                        member.setFullName(member.getName());
                    }
                    group.add(member);
                    newGroups.add(group);
                }
            }

        } catch (JavaModelException jme) {
        }
        long etime = System.currentTimeMillis();

        AJLog.log("AJDTContentProvider.updateData() executed - took " + (etime - stime) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
    }
    currentMembers = newMembers;
    currentGroups = newGroups;
}

From source file:org.eclipse.ajdt.internal.ui.visualiser.AJDTMarkupProvider.java

License:Open Source License

private void updateModel() {
    if (ProviderManager.getContentProvider() instanceof AJDTContentProvider) {
        IJavaProject jp = ((AJDTContentProvider) ProviderManager.getContentProvider()).getCurrentProject();
        if (jp != null) {
            AJProjectModelFacade model = AJProjectModelFactory.getInstance()
                    .getModelForProject(jp.getProject());

            Collection<IRelationship> allRelationships = model
                    .getRelationshipsForProject(new AJRelationshipType[] { AJRelationshipManager.ADVISED_BY,
                            AJRelationshipManager.ANNOTATED_BY, AJRelationshipManager.ASPECT_DECLARATIONS,
                            AJRelationshipManager.MATCHES_DECLARE });
            if (allRelationships != null) {
                for (IRelationship relationship : allRelationships) {
                    List<IMarkupKind> kinds = new ArrayList<IMarkupKind>();
                    IProgramElement sourceIpe = model.getProgramElement(relationship.getSourceHandle());
                    if (sourceIpe != null) {
                        List<String> targets = relationship.getTargets();
                        for (String targetStr : targets) {
                            IJavaElement target = model.programElementToJavaElement(targetStr);
                            String simpleName;
                            String qualifiedName;

                            if (!(target instanceof IAJCodeElement)) {
                                IJavaElement enclosingType = target.getAncestor(IJavaElement.TYPE);
                                if (enclosingType == null) {
                                    // Bug 324706  I don't know why the sloc is null.  Log the bug and
                                    // continue on.
                                    VisualiserPlugin.log(IStatus.WARNING,
                                            "Bug 324706: null containing type found for "
                                                    + target.getElementName() + "\nHandle identifier is: "
                                                    + target.getHandleIdentifier());
                                    // avoid an npe
                                    continue;
                                }//from w  w  w .  j  ava2  s  . c  o  m

                                simpleName = enclosingType.getElementName();
                                qualifiedName = ((IType) enclosingType).getFullyQualifiedName('.');

                            } else { // It's an injar aspect so we wno't be able to find the parents
                                qualifiedName = target.getElementName();
                                String[] parts = qualifiedName.split(" "); //$NON-NLS-1$
                                String aNameWithExtension = parts[parts.length - 1];
                                if (aNameWithExtension.indexOf('.') != -1) { // $NON-NLS-1$
                                    simpleName = aNameWithExtension.substring(0,
                                            aNameWithExtension.lastIndexOf('.')); // $NON-NLS-1$
                                } else {
                                    simpleName = aNameWithExtension;
                                }
                            }

                            if (sourceIpe.getSourceLocation() == null) {
                                // Bug 324706  I don't know why the sloc is null.  Log the bug and
                                // continue on.
                                VisualiserPlugin.log(IStatus.WARNING,
                                        "Bug 324706: Warning, null source location found in "
                                                + sourceIpe.getName() + "\nHandle identifier is: "
                                                + sourceIpe.getHandleIdentifier());
                                // avoid an npe
                                continue;
                            }

                            int lineNum = sourceIpe.getSourceLocation().getLine();
                            IJavaElement sourceJe = model
                                    .programElementToJavaElement(relationship.getSourceHandle());
                            if (sourceJe != null) {
                                IJavaElement compilationUnitAncestor = sourceJe
                                        .getAncestor(IJavaElement.COMPILATION_UNIT);
                                if (compilationUnitAncestor != null) {
                                    String memberName = compilationUnitAncestor.getElementName();
                                    memberName = memberName.substring(0, memberName.lastIndexOf(".")); //$NON-NLS-1$
                                    String packageName = sourceJe.getAncestor(IJavaElement.PACKAGE_FRAGMENT)
                                            .getElementName();
                                    if (!(packageName.equals(""))) { //$NON-NLS-1$
                                        memberName = packageName + "." + memberName; //$NON-NLS-1$
                                    }
                                    IMarkupKind markupKind = null;
                                    if (kindMap == null) {
                                        kindMap = new HashMap<String, IMarkupKind>();
                                    }
                                    if (relationship.getName()
                                            .equals(AJRelationshipManager.MATCHES_DECLARE.getDisplayName())) {
                                        String sourceName = target.getElementName();
                                        boolean errorKind = sourceName.startsWith(aspectJErrorKind);
                                        if (kindMap.get(
                                                sourceName + ":::" + qualifiedName) instanceof IMarkupKind) { //$NON-NLS-1$
                                            markupKind = kindMap.get(sourceName + ":::" + qualifiedName); //$NON-NLS-1$
                                        } else {
                                            markupKind = new ErrorOrWarningMarkupKind(
                                                    sourceName + ":::" + simpleName, errorKind); //$NON-NLS-1$
                                            kindMap.put(sourceName + ":::" + qualifiedName, markupKind); //$NON-NLS-1$
                                        }
                                    } else {
                                        if (kindMap.get(qualifiedName) instanceof IMarkupKind) {
                                            markupKind = kindMap.get(qualifiedName);
                                        } else {
                                            markupKind = new SimpleMarkupKind(simpleName, qualifiedName);
                                            kindMap.put(qualifiedName, markupKind);
                                        }
                                    }
                                    kinds.add(markupKind);
                                    Stripe stripe = new Stripe(kinds, lineNum, 1);
                                    addMarkup(memberName, stripe);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    processMarkups();
}

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);//from w ww  .  j a  va 2s. co m
    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

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 ww w .  j a va 2 s. co  m*/
                    if (resource != null)
                        javaElementResources.add(resource);
                }
            }
        }
    }
    return javaElementResources;
}