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.eclipse.objectteams.otdt.internal.ui.wizards.NewTypeWizardPage.java

License:Open Source License

/**
 * initializes the package and enclosing type dialog fields
 * depending on the given initial selected IJavaElement
 * (that is the IJavaElement which was selected in the Package Explorer,
 *  when the request to open the wizard occured)
 *//*from w w  w .j a v a  2s  .  com*/
protected void initPackageAndEnclosingType(IJavaElement initialSelectedElem) {
    IType potentialEnclosingType = null;
    IType typeInCU = (IType) initialSelectedElem.getAncestor(IJavaElement.TYPE);

    if (typeInCU != null) {
        if (typeInCU.getCompilationUnit() != null) {
            potentialEnclosingType = typeInCU;
        }
    } else {
        ICompilationUnit cu = (ICompilationUnit) initialSelectedElem.getAncestor(IJavaElement.COMPILATION_UNIT);
        if (cu != null) {
            potentialEnclosingType = cu.findPrimaryType();
        }
    }

    //default case
    IPackageFragment packageFragment = (IPackageFragment) initialSelectedElem
            .getAncestor(IJavaElement.PACKAGE_FRAGMENT);
    String packName = (packageFragment == null) ? "" //$NON-NLS-1$
            : packageFragment.getElementName();
    setPackageFragmentName(packName);
    setEnclosingTypeName(""); //$NON-NLS-1$

    if (potentialEnclosingType != null) {
        if (OTModelManager.hasOTElementFor(potentialEnclosingType)) {
            IOTType potentialEnclosingOTType = OTModelManager.getOTElement(potentialEnclosingType);

            boolean hasChanges = false;
            if (potentialEnclosingOTType.isTeam()) {
                handleTeamSelected(potentialEnclosingOTType);
                hasChanges = true;
            } else //if potentialEnclosingOTType.isRole()
            {
                handleRoleSelected(potentialEnclosingOTType);
                hasChanges = true;
            }

            if (hasChanges) {
            }
        } else
            try {
                if (potentialEnclosingType.isClass()) {
                    handleClassSelected(potentialEnclosingType);
                }
            } catch (JavaModelException ex) {
                OTDTUIPlugin.logException("", ex); //$NON-NLS-1$
            }
    }
}

From source file:org.eclipse.objectteams.otdt.ui.tests.refactoring.reorg.OTCopyToClipboardTests.java

License:Open Source License

private static int countResources(IJavaElement[] javaElementsCopied) {
    int count = 0;
    for (int i = 0; i < javaElementsCopied.length; i++) {
        IJavaElement element = javaElementsCopied[i];
        switch (element.getElementType()) {
        case IJavaElement.JAVA_PROJECT:
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        case IJavaElement.PACKAGE_FRAGMENT:
        case IJavaElement.COMPILATION_UNIT:
        case IJavaElement.CLASS_FILE:
            count++;/*w  ww . ja  v  a2 s.  c o  m*/
        }
    }
    return count;
}

From source file:org.eclipse.pde.api.tools.builder.tests.compatibility.ProjectTypeContainerTests.java

License:Open Source License

protected void collectAllPackages(IPackageFragment pkg, List<IPackageFragment> collect) throws CoreException {
    IJavaElement[] children = pkg.getChildren();
    for (int i = 0; i < children.length; i++) {
        IJavaElement element = children[i];
        if (element.getElementType() == IJavaElement.PACKAGE_FRAGMENT) {
            IPackageFragment frag = (IPackageFragment) element;
            collect.add(frag);//  ww  w.  j  a v  a  2  s.  c  o m
            collectAllPackages(frag, collect);
        }
    }
}

From source file:org.eclipse.pde.api.tools.internal.ApiDescriptionManager.java

License:Open Source License

private void restoreNode(ProjectApiDescription apiDesc, Element element, ManifestNode parentNode,
        Map<IElementDescriptor, ManifestNode> childrenMap) throws CoreException {
    ManifestNode node = null;/*from w w  w. j  av  a2s  .  co m*/
    IElementDescriptor elementDesc = null;
    if (element.getTagName().equals(IApiXmlConstants.ELEMENT_PACKAGE)) {
        int vis = getInt(element, IApiXmlConstants.ATTR_VISIBILITY);
        int res = getInt(element, IApiXmlConstants.ATTR_RESTRICTIONS);
        // collect fragments
        List<IJavaElement> fragments = new ArrayList<IJavaElement>();
        NodeList childNodes = element.getChildNodes();
        String pkgName = null;
        for (int i = 0; i < childNodes.getLength(); i++) {
            Node child = childNodes.item(i);
            if (child.getNodeType() == Node.ELEMENT_NODE) {
                if (((Element) child).getTagName().equals(IApiXmlConstants.ELEMENT_PACKAGE_FRAGMENT)) {
                    Element fragment = (Element) child;
                    String handle = fragment.getAttribute(IApiXmlConstants.ATTR_HANDLE);
                    IJavaElement je = JavaCore.create(handle);
                    if (je.getElementType() != IJavaElement.PACKAGE_FRAGMENT) {
                        abort(ScannerMessages.ApiDescriptionManager_2 + handle, null);
                    }
                    pkgName = je.getElementName();
                    fragments.add(je);
                }
            }
        }
        if (!fragments.isEmpty()) {
            elementDesc = Factory.packageDescriptor(pkgName);
            node = apiDesc.newPackageNode(fragments.toArray(new IPackageFragment[fragments.size()]), parentNode,
                    elementDesc, vis, res);
        } else {
            abort(ScannerMessages.ApiDescriptionManager_2, null);
        }
    } else if (element.getTagName().equals(IApiXmlConstants.ELEMENT_PACKAGE_FRAGMENT)) {
        return; // nothing to do
    } else if (element.getTagName().equals(IApiXmlConstants.ELEMENT_TYPE)) {
        String handle = element.getAttribute(IApiXmlConstants.ATTR_HANDLE);
        int vis = getInt(element, IApiXmlConstants.ATTR_VISIBILITY);
        int res = getInt(element, IApiXmlConstants.ATTR_RESTRICTIONS);
        IJavaElement je = JavaCore.create(handle);
        if (je.getElementType() != IJavaElement.TYPE) {
            abort(ScannerMessages.ApiDescriptionManager_3 + handle, null);
        }
        IType type = (IType) je;
        elementDesc = Factory.typeDescriptor(type.getFullyQualifiedName('$'));
        TypeNode tn = apiDesc.newTypeNode(type, parentNode, elementDesc, vis, res);
        node = tn;
        tn.fTimeStamp = getLong(element, IApiXmlConstants.ATTR_MODIFICATION_STAMP);
    } else if (element.getTagName().equals(IApiXmlConstants.ELEMENT_FIELD)) {
        if (parentNode.element instanceof IReferenceTypeDescriptor) {
            IReferenceTypeDescriptor type = (IReferenceTypeDescriptor) parentNode.element;
            int vis = getInt(element, IApiXmlConstants.ATTR_VISIBILITY);
            int res = getInt(element, IApiXmlConstants.ATTR_RESTRICTIONS);
            String name = element.getAttribute(IApiXmlConstants.ATTR_NAME);
            elementDesc = type.getField(name);
            node = apiDesc.newNode(parentNode, elementDesc, vis, res);
        }
    } else if (element.getTagName().equals(IApiXmlConstants.ELEMENT_METHOD)) {
        if (parentNode.element instanceof IReferenceTypeDescriptor) {
            IReferenceTypeDescriptor type = (IReferenceTypeDescriptor) parentNode.element;
            int vis = getInt(element, IApiXmlConstants.ATTR_VISIBILITY);
            int res = getInt(element, IApiXmlConstants.ATTR_RESTRICTIONS);
            String name = element.getAttribute(IApiXmlConstants.ATTR_NAME);
            String sig = element.getAttribute(IApiXmlConstants.ATTR_SIGNATURE);
            if (sig.indexOf('.') != -1) {
                // old files might use '.' instead of '/'
                sig = sig.replace('.', '/');
            }
            elementDesc = type.getMethod(name, sig);
            node = apiDesc.newNode(parentNode, elementDesc, vis, res);
        }
    }
    if (node != null) {
        childrenMap.put(elementDesc, node);
        restoreChildren(apiDesc, element, node, node.children);
    } else {
        abort(ScannerMessages.ApiDescriptionManager_4, null);
    }
}

From source file:org.eclipse.pde.api.tools.internal.builder.BaseApiAnalyzer.java

License:Open Source License

/**
 * Recursively finds all source in the given project and scans it for
 * invalid tags/*from ww  w  .  j  a v a  2  s  .  c  o  m*/
 * 
 * @param element
 * @param monitor
 * @throws JavaModelException
 */
private void scanSource(IJavaElement element, boolean tags, boolean annotations, IProgressMonitor monitor)
        throws JavaModelException {
    try {
        switch (element.getElementType()) {
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        case IJavaElement.PACKAGE_FRAGMENT: {
            IParent parent = (IParent) element;
            IJavaElement[] children = parent.getChildren();
            for (int i = 0; i < children.length; i++) {
                scanSource(children[i], tags, annotations, monitor);
                Util.updateMonitor(monitor, 0);
            }
            break;
        }
        case IJavaElement.COMPILATION_UNIT: {
            ICompilationUnit unit = (ICompilationUnit) element;
            processType(unit, tags, annotations);
            Util.updateMonitor(monitor, 0);
            break;
        }
        default:
            break;
        }
    } finally {
        if (monitor != null) {
            Util.updateMonitor(monitor);
            monitor.done();
        }
    }
}

From source file:org.eclipse.pde.api.tools.internal.ProjectApiDescription.java

License:Open Source License

private IElementDescriptor getElementDescriptor(IJavaElement element) {
    switch (element.getElementType()) {
    case IJavaElement.PACKAGE_FRAGMENT:
        return Factory.packageDescriptor(element.getElementName());
    case IJavaElement.TYPE:
        return Factory.typeDescriptor(((IType) element).getFullyQualifiedName('$'));
    default://from   w  w  w  .j  a va 2 s . c o  m
        return null;
    }
}

From source file:org.eclipse.pde.api.tools.internal.WorkspaceDeltaProcessor.java

License:Open Source License

/**
 * Processes the java element deltas of interest
 * //w  w w .  j ava 2  s . c om
 * @param deltas
 */
void processJavaElementDeltas(IJavaElementDelta[] deltas, IJavaProject project) {
    for (int i = 0; i < deltas.length; i++) {
        IJavaElementDelta delta = deltas[i];
        switch (delta.getElement().getElementType()) {
        case IJavaElement.JAVA_PROJECT: {
            IJavaProject proj = (IJavaProject) delta.getElement();
            int flags = delta.getFlags();
            switch (delta.getKind()) {
            case IJavaElementDelta.CHANGED: {
                if (!Util.isApiProject(proj)) {
                    if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                        System.out.println(
                                "--> skipped processing CHANGED delta for project: " + proj.getElementName()); //$NON-NLS-1$
                    }
                    continue;
                }
                if ((flags & IJavaElementDelta.F_OPENED) != 0) {
                    if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                        System.out.println("--> processing OPEN project: [" + proj.getElementName() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
                    }
                    bmanager.disposeWorkspaceBaseline();
                } else if ((flags & IJavaElementDelta.F_RESOLVED_CLASSPATH_CHANGED) != 0
                        || (flags & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0) {
                    if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                        System.out.println(
                                "--> processing CLASSPATH CHANGE project: [" + proj.getElementName() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
                    }
                    bmanager.disposeWorkspaceBaseline();
                    dmanager.projectClasspathChanged(proj);
                    try {
                        BuildState.setLastBuiltState(proj.getProject(), null);
                    } catch (CoreException e) {
                    }
                    dmanager.flushElementCache(delta.getElement());
                } else if ((flags & IJavaElementDelta.F_CHILDREN) != 0) {
                    if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                        System.out.println(
                                "--> processing CHILDREN delta of project: [" + proj.getElementName() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
                    }
                    processJavaElementDeltas(delta.getAffectedChildren(), proj);
                } else if ((flags & IJavaElementDelta.F_CONTENT) != 0) {
                    if (proj != null) {
                        if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                            System.out.println(
                                    "--> processing child CONTENT of project: [" + proj.getElementName() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
                        }
                        IResourceDelta[] resourcedeltas = delta.getResourceDeltas();
                        if (resourcedeltas != null) {
                            IResourceDelta rdelta = null;
                            for (int j = 0; j < resourcedeltas.length; j++) {
                                rdelta = resourcedeltas[j].findMember(new Path(Util.MANIFEST_NAME));
                                if (rdelta != null && rdelta.getKind() == IResourceDelta.CHANGED
                                        && (rdelta.getFlags() & IResourceDelta.CONTENT) > 0) {
                                    if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                                        System.out.println("--> processing manifest delta"); //$NON-NLS-1$
                                    }
                                    bmanager.disposeWorkspaceBaseline();
                                    break;
                                }
                            }
                        }
                    } else {
                        if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                            System.out.println("--> ignoring child CONTENT project context is null"); //$NON-NLS-1$
                        }
                    }
                }
                break;
            }
            case IJavaElementDelta.ADDED: {
                if (!Util.isApiProject(proj)) {
                    if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                        System.out.println(
                                "--> skipped processing ADDED delta for project: " + proj.getElementName()); //$NON-NLS-1$
                    }
                    continue;
                }
                if ((flags & IJavaElementDelta.F_MOVED_FROM) != 0) {
                    if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                        System.out.println("--> processing PROJECT RENAME from: [" //$NON-NLS-1$
                                + delta.getMovedFromElement().getJavaProject().getElementName() + "] to: [" //$NON-NLS-1$
                                + proj.getElementName() + "]"); //$NON-NLS-1$
                    }
                    bmanager.disposeWorkspaceBaseline();
                }
                break;
            }
            default:
                break;
            }
            break;
        }
        case IJavaElement.PACKAGE_FRAGMENT_ROOT: {
            IPackageFragmentRoot root = (IPackageFragmentRoot) delta.getElement();
            int flags = delta.getFlags();
            if ((flags & (IJavaElementDelta.F_ARCHIVE_CONTENT_CHANGED | IJavaElementDelta.F_ADDED_TO_CLASSPATH
                    | IJavaElementDelta.F_REMOVED_FROM_CLASSPATH)) != 0) {
                if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                    System.out.println("processed CLASSPATH CHANGED for package fragment root: [" //$NON-NLS-1$
                            + root.getElementName() + "]"); //$NON-NLS-1$
                }
                dmanager.projectClasspathChanged(project);
            }
            if ((flags & IJavaElementDelta.F_CHILDREN) != 0) {
                if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                    System.out.println(
                            "processed CHILDREN for package fragment root: [" + root.getElementName() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
                }
                processJavaElementDeltas(delta.getAffectedChildren(), project);
            }
            break;
        }
        case IJavaElement.PACKAGE_FRAGMENT: {
            IPackageFragment fragment = (IPackageFragment) delta.getElement();
            if (delta.getKind() == IJavaElementDelta.REMOVED) {
                if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                    System.out.println("processed REMOVED delta for package fragment: [" //$NON-NLS-1$
                            + fragment.getElementName() + "]"); //$NON-NLS-1$
                }
                ((ApiBaseline) bmanager.getWorkspaceBaseline()).clearPackage(fragment.getElementName());
            }
            int flags = delta.getFlags();
            if ((flags & IJavaElementDelta.F_CHILDREN) != 0) {
                if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                    System.out.println("processed CHILDREN delta for package fragment: [" //$NON-NLS-1$
                            + fragment.getElementName() + "]"); //$NON-NLS-1$
                }
                processJavaElementDeltas(delta.getAffectedChildren(), project);
            }
            break;
        }
        case IJavaElement.COMPILATION_UNIT: {
            int flags = delta.getFlags();
            switch (delta.getKind()) {
            case IJavaElementDelta.CHANGED: {
                if ((flags & (IJavaElementDelta.F_CONTENT | IJavaElementDelta.F_FINE_GRAINED
                        | IJavaElementDelta.F_PRIMARY_RESOURCE)) != 0) {
                    if (project != null) {
                        if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                            System.out
                                    .println("processed CONTENT / FINE_GRAINED / PRIMARY_RESOURCE delta for: [" //$NON-NLS-1$
                                            + delta.getElement().getElementName() + "]"); //$NON-NLS-1$
                        }
                        dmanager.projectChanged(project);
                        dmanager.flushElementCache(delta.getElement());
                        continue;
                    }
                }
                break;
            }
            case IJavaElementDelta.ADDED:
            case IJavaElementDelta.REMOVED: {
                if (project != null) {
                    if (ApiPlugin.DEBUG_WORKSPACE_DELTA_PROCESSOR) {
                        if (delta.getKind() == IJavaElementDelta.ADDED) {
                            System.out.println(
                                    "processed ADDED delta for: [" + delta.getElement().getElementName() + "]"); //$NON-NLS-1$//$NON-NLS-2$
                        } else {
                            System.out.println("processed REMOVED delta for: [" //$NON-NLS-1$
                                    + delta.getElement().getElementName() + "]"); //$NON-NLS-1$
                        }
                    }
                    dmanager.projectChanged(project);
                    dmanager.flushElementCache(delta.getElement());
                    continue;
                }
                break;
            }
            default:
                break;
            }
            break;
        }
        default:
            break;
        }
    }
}

From source file:org.eclipse.pde.api.tools.ui.internal.JavaElementActionFilter.java

License:Open Source License

/**
 * @see org.eclipse.ui.IActionFilter#testAttribute(Object, String, String)
 */// ww  w  .ja v  a2 s .c om
@Override
public boolean testAttribute(Object target, String name, String value) {
    if (name.equals("JavaElementActionFilter")) { //$NON-NLS-1$
        if (target instanceof IJavaElement) {
            IJavaElement javaElement = (IJavaElement) target;
            if (value.equals("isEnabled")) { //$NON-NLS-1$
                while (javaElement != null) {
                    switch (javaElement.getElementType()) {
                    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
                        IPackageFragmentRoot root = (IPackageFragmentRoot) javaElement;
                        return !root.isArchive();
                    case IJavaElement.PACKAGE_FRAGMENT:
                    case IJavaElement.COMPILATION_UNIT:
                    case IJavaElement.CLASS_FILE:
                    case IJavaElement.TYPE:
                        javaElement = javaElement.getParent();
                        break;
                    case IJavaElement.ANNOTATION:
                    case IJavaElement.FIELD:
                    case IJavaElement.IMPORT_CONTAINER:
                    case IJavaElement.IMPORT_DECLARATION:
                    case IJavaElement.INITIALIZER:
                    case IJavaElement.JAVA_MODEL:
                    case IJavaElement.LOCAL_VARIABLE:
                    case IJavaElement.METHOD:
                    case IJavaElement.PACKAGE_DECLARATION:
                    case IJavaElement.TYPE_PARAMETER:
                        return false;
                    case IJavaElement.JAVA_PROJECT:
                        return true;
                    default:
                        break;
                    }
                }
                return true;
            }
        }
    }
    return false;
}

From source file:org.eclipse.pde.api.tools.ui.internal.refactoring.FilterDeleteParticipant.java

License:Open Source License

@Override
public Change createPreChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
    switch (this.element.getElementType()) {
    case IJavaElement.TYPE: {
        return RefactoringUtils.createDeleteFilterChanges((IType) this.element);
    }/*from  w  w w  . j a  va2s.  co m*/
    case IJavaElement.PACKAGE_FRAGMENT: {
        return RefactoringUtils.createDeleteFilterChanges((IPackageFragment) this.element);
    }
    default:
        break;
    }
    return null;
}

From source file:org.eclipse.pde.api.tools.ui.internal.refactoring.FilterRenameParticipant.java

License:Open Source License

@Override
public Change createPreChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
    switch (this.element.getElementType()) {
    case IJavaElement.TYPE: {
        return RefactoringUtils.createRenameFilterChanges((IType) this.element, getArguments().getNewName());
    }/*w ww . ja va  2s  .com*/
    case IJavaElement.PACKAGE_FRAGMENT: {
        return RefactoringUtils.createRenameFilterChanges((IPackageFragment) this.element,
                getArguments().getNewName());
    }
    default:
        break;
    }
    return null;
}