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

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

Introduction

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

Prototype

int IMPORT_CONTAINER

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

Click Source Link

Document

Constant representing all import declarations within a compilation unit.

Usage

From source file:net.sourceforge.metrics.ui.layeredpackagegraph.LayeredPackageTableView.java

License:Open Source License

/**
 * @param type//from   w w w. ja  v a2 s  .c o m
 * @return true if acceptable type for metrics calculation
 */
private boolean canDoMetrics(IJavaElement element) {
    int type = element.getElementType();
    if (type == IJavaElement.CLASS_FILE) {
        return false;
    }
    if (type == IJavaElement.FIELD) {
        return false;
    }
    if (type == IJavaElement.IMPORT_CONTAINER) {
        return false;
    }
    if (type == IJavaElement.IMPORT_DECLARATION) {
        return false;
    }
    if (type == IJavaElement.INITIALIZER) {
        return false;
    }
    if (type == IJavaElement.PACKAGE_DECLARATION) {
        return false;
    }
    return true;
}

From source file:org.codehaus.groovy.eclipse.test.ui.OutlineExtenderTests.java

License:Apache License

public void testGroovyScriptOutline1() throws Exception {
    String contents = "import java.util.Map\n" + "int[] xxx \n" + "def ttt = 8\n" + "Object hhh = 8\n"
            + "class Y { }\n" + "String blah() {  }";
    GroovyOutlinePage outline = openFile("Script", contents);

    OCompilationUnit unit = outline.getOutlineCompilationUnit();
    IJavaElement[] children = unit.getChildren();

    assertEquals("Wrong number of children", 6, children.length);
    assertEquals("", children[0].getElementName()); // import container has no name
    assertEquals("xxx", children[1].getElementName());
    assertEquals("ttt", children[2].getElementName());
    assertEquals("hhh", children[3].getElementName());
    assertEquals("Y", children[4].getElementName());
    assertEquals("blah", children[5].getElementName());

    assertEquals(IJavaElement.IMPORT_CONTAINER, children[0].getElementType());
    assertEquals(IJavaElement.FIELD, children[1].getElementType());
    assertEquals(IJavaElement.FIELD, children[2].getElementType());
    assertEquals(IJavaElement.FIELD, children[3].getElementType());
    assertEquals(IJavaElement.TYPE, children[4].getElementType());
    assertEquals(IJavaElement.METHOD, children[5].getElementType());

    assertEquals("[I", ((IField) children[1]).getTypeSignature());
    assertEquals("Qdef;", ((IField) children[2]).getTypeSignature());
    assertEquals("QObject;", ((IField) children[3]).getTypeSignature());

    assertEquals(contents.indexOf("xxx"), ((IField) children[1]).getNameRange().getOffset());
    assertEquals(contents.indexOf("ttt"), ((IField) children[2]).getNameRange().getOffset());
    assertEquals(contents.indexOf("hhh"), ((IField) children[3]).getNameRange().getOffset());

    assertEquals(3, ((IField) children[1]).getNameRange().getLength());
    assertEquals(3, ((IField) children[2]).getNameRange().getLength());
    assertEquals(3, ((IField) children[3]).getNameRange().getLength());
}

From source file:org.eclim.plugin.jdt.util.TypeUtils.java

License:Open Source License

/**
 * Gets the type at the supplied offset, which will either be the primary type
 * of the comilation unit, or an inner class.
 *
 * @param src The ICompilationSource.//from  w w  w. j  a  va2 s.  c  om
 * @param offset The offet in the source file.
 * @return The IType.
 */
public static IType getType(ICompilationUnit src, int offset) throws Exception {
    IJavaElement element = src.getElementAt(offset);
    IType type = null;

    // offset outside the class source (Above the package declaration most
    // likely)
    if (element == null) {
        type = ((CompilationUnit) src).getTypeRoot().findPrimaryType();

        // inner class
    } else if (element != null && element.getElementType() == IJavaElement.TYPE) {
        type = (IType) element;
    } else {
        element = element.getParent();

        // offset on import statement
        if (element.getElementType() == IJavaElement.IMPORT_CONTAINER) {
            element = element.getParent();
        }

        // offset on the package declaration or continuation of import ^
        if (element.getElementType() == IJavaElement.COMPILATION_UNIT) {
            element = ((CompilationUnit) element).getTypeRoot().findPrimaryType();
        }
        type = (IType) element;
    }
    return type;
}

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 ww.  j  av  a2  s .  c om
            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 {//from www .j  a v  a  2  s  .  com
            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.che.jdt.javadoc.JavaElementLinks.java

License:Open Source License

private static ITypeParameter resolveTypeVariable(IJavaElement baseElement, String typeVariableName)
        throws JavaModelException {
    while (baseElement != null) {
        switch (baseElement.getElementType()) {
        case IJavaElement.METHOD:
            IMethod method = (IMethod) baseElement;
            ITypeParameter[] typeParameters = method.getTypeParameters();
            for (int i = 0; i < typeParameters.length; i++) {
                ITypeParameter typeParameter = typeParameters[i];
                if (typeParameter.getElementName().equals(typeVariableName)) {
                    return typeParameter;
                }// w ww. j  a  v  a  2 s .  c om
            }
            break;

        case IJavaElement.TYPE:
            IType type = (IType) baseElement;
            typeParameters = type.getTypeParameters();
            for (int i = 0; i < typeParameters.length; i++) {
                ITypeParameter typeParameter = typeParameters[i];
                if (typeParameter.getElementName().equals(typeVariableName)) {
                    return typeParameter;
                }
            }
            break;

        case IJavaElement.JAVA_MODEL:
        case IJavaElement.JAVA_PROJECT:
        case IJavaElement.PACKAGE_FRAGMENT:
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:

        case IJavaElement.CLASS_FILE:
        case IJavaElement.COMPILATION_UNIT:

        case IJavaElement.PACKAGE_DECLARATION:
        case IJavaElement.IMPORT_CONTAINER:
        case IJavaElement.IMPORT_DECLARATION:
            return null;

        default:
            break;
        }
        // look for type parameters in enclosing members:
        baseElement = baseElement.getParent();
    }
    return null;
}

From source file:org.eclipse.e4.demo.simpleide.jdt.internal.editor.viewer.JavaElementLabelComposer.java

License:Open Source License

/**
 * Appends the label for a Java element with the flags as defined by this
 * class./*from   w  ww  .  j  ava2  s  .c om*/
 * 
 * @param element
 *            the element to render
 * @param flags
 *            the rendering flags.
 */
public void appendElementLabel(IJavaElement element, long flags) {
    int type = element.getElementType();
    IPackageFragmentRoot root = null;

    if (type != IJavaElement.JAVA_MODEL && type != IJavaElement.JAVA_PROJECT
            && type != IJavaElement.PACKAGE_FRAGMENT_ROOT)
        root = JavaModelUtil.getPackageFragmentRoot(element);
    if (root != null && getFlag(flags, JavaElementLabels.PREPEND_ROOT_PATH)) {
        appendPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED);
        fBuffer.append(JavaElementLabels.CONCAT_STRING);
    }

    switch (type) {
    case IJavaElement.METHOD:
        appendMethodLabel((IMethod) element, flags);
        break;
    case IJavaElement.FIELD:
        appendFieldLabel((IField) element, flags);
        break;
    case IJavaElement.LOCAL_VARIABLE:
        appendLocalVariableLabel((ILocalVariable) element, flags);
        break;
    case IJavaElement.TYPE_PARAMETER:
        appendTypeParameterLabel((ITypeParameter) element, flags);
        break;
    case IJavaElement.INITIALIZER:
        appendInitializerLabel((IInitializer) element, flags);
        break;
    case IJavaElement.TYPE:
        appendTypeLabel((IType) element, flags);
        break;
    case IJavaElement.CLASS_FILE:
        appendClassFileLabel((IClassFile) element, flags);
        break;
    case IJavaElement.COMPILATION_UNIT:
        appendCompilationUnitLabel((ICompilationUnit) element, flags);
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        appendPackageFragmentLabel((IPackageFragment) element, flags);
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        appendPackageFragmentRootLabel((IPackageFragmentRoot) element, flags);
        break;
    case IJavaElement.IMPORT_CONTAINER:
    case IJavaElement.IMPORT_DECLARATION:
    case IJavaElement.PACKAGE_DECLARATION:
        appendDeclarationLabel(element, flags);
        break;
    case IJavaElement.JAVA_PROJECT:
    case IJavaElement.JAVA_MODEL:
        fBuffer.append(element.getElementName());
        break;
    default:
        fBuffer.append(element.getElementName());
    }

    if (root != null && getFlag(flags, JavaElementLabels.APPEND_ROOT_PATH)) {
        int offset = fBuffer.length();
        fBuffer.append(JavaElementLabels.CONCAT_STRING);
        appendPackageFragmentRootLabel(root, JavaElementLabels.ROOT_QUALIFIED);

        if (getFlag(flags, JavaElementLabels.COLORIZE)) {
            fBuffer.setStyle(offset, fBuffer.length() - offset, QUALIFIER_STYLE);
        }

    }
}

From source file:org.eclipse.e4.demo.simpleide.jdt.internal.editor.viewer.JavaElementLabelComposer.java

License:Open Source License

/**
 * Appends the label for a import container, import or package declaration.
 * Considers the D_* flags.//from  ww w. ja  va2 s .  c om
 * 
 * @param declaration
 *            the element to render
 * @param flags
 *            the rendering flags. Flags with names starting with 'D_' are
 *            considered.
 */
public void appendDeclarationLabel(IJavaElement declaration, long flags) {
    if (getFlag(flags, JavaElementLabels.D_QUALIFIED)) {
        IJavaElement openable = (IJavaElement) declaration.getOpenable();
        if (openable != null) {
            appendElementLabel(openable, JavaElementLabels.CF_QUALIFIED | JavaElementLabels.CU_QUALIFIED
                    | (flags & QUALIFIER_FLAGS));
            fBuffer.append('/');
        }
    }
    if (declaration.getElementType() == IJavaElement.IMPORT_CONTAINER) {
        fBuffer.append(messages.JavaElementLabels_import_container());
    } else {
        fBuffer.append(declaration.getElementName());
    }
    // post qualification
    if (getFlag(flags, JavaElementLabels.D_POST_QUALIFIED)) {
        int offset = fBuffer.length();
        IJavaElement openable = (IJavaElement) declaration.getOpenable();
        if (openable != null) {
            fBuffer.append(JavaElementLabels.CONCAT_STRING);
            appendElementLabel(openable, JavaElementLabels.CF_QUALIFIED | JavaElementLabels.CU_QUALIFIED
                    | (flags & QUALIFIER_FLAGS));
        }
        if (getFlag(flags, JavaElementLabels.COLORIZE)) {
            fBuffer.setStyle(offset, fBuffer.length() - offset, QUALIFIER_STYLE);
        }
    }
}

From source file:org.eclipse.mylyn.internal.java.ui.JavaStructureBridge.java

License:Open Source License

/**
 * Some copying from://from  ww  w .  j av  a2s  . c  o m
 * 
 * @see org.eclipse.jdt.ui.ProblemsLabelDecorator
 */
public boolean containsProblem(IInteractionElement node) {
    try {
        IJavaElement element = (IJavaElement) getObjectForHandle(node.getHandleIdentifier());
        switch (element.getElementType()) {
        case IJavaElement.JAVA_PROJECT:
        case IJavaElement.PACKAGE_FRAGMENT_ROOT:
            return getErrorTicksFromMarkers(element.getResource(), IResource.DEPTH_INFINITE, null);
        case IJavaElement.PACKAGE_FRAGMENT:
        case IJavaElement.COMPILATION_UNIT:
        case IJavaElement.CLASS_FILE:
            return getErrorTicksFromMarkers(element.getResource(), IResource.DEPTH_ONE, null);
        case IJavaElement.PACKAGE_DECLARATION:
        case IJavaElement.IMPORT_DECLARATION:
        case IJavaElement.IMPORT_CONTAINER:
        case IJavaElement.TYPE:
        case IJavaElement.INITIALIZER:
        case IJavaElement.METHOD:
        case IJavaElement.FIELD:
        case IJavaElement.LOCAL_VARIABLE:
            ICompilationUnit cu = (ICompilationUnit) element.getAncestor(IJavaElement.COMPILATION_UNIT);
            if (cu != null) {
                return getErrorTicksFromMarkers(element.getResource(), IResource.DEPTH_ONE, null);
            }
        }
    } catch (CoreException e) {
        // ignore
    }
    return false;
}

From source file:org.eclipse.mylyn.java.ui.editor.AutoFoldingStructureProvider.java

License:Open Source License

private void computeAdditions(IJavaElement element, Map map) {
    boolean createProjection = false;
    boolean collapse = false;
    switch (element.getElementType()) {
    case IJavaElement.IMPORT_CONTAINER:
        collapse = true;//from ww w  .j  av a2  s  .co  m
        //                collapse= fAllowCollapsing && fCollapseImportContainer;
        createProjection = true;
        break;
    case IJavaElement.TYPE:
        if (isInnerType((IType) element)) {
            IMylarElement node = ContextCorePlugin.getContextManager()
                    .getElement(element.getHandleIdentifier());
            if (!MylarUiPlugin.getDefault().isGlobalFoldingEnabled()) {
                collapse = false;
            } else if (node == null || node.getInterest().isInteresting()) {
                collapse = false;
            } else {
                collapse = true;
            }
            createProjection = true;
            break;
        }
        //                collapse= fAllowCollapsing && fCollapseInnerTypes && isInnerType((IType) element);
        createProjection = true;
        break;
    case IJavaElement.METHOD:
        IMylarElement node = ContextCorePlugin.getContextManager().getElement(element.getHandleIdentifier());
        if (!MylarUiPlugin.getDefault().isGlobalFoldingEnabled()) {
            collapse = false;
        } else if (node == null || node.getInterest().isInteresting()) {
            collapse = false;
        } else {
            collapse = true;
        }
        createProjection = true;
        break;
    default:
        collapse = true;
        //                collapse= fAllowCollapsing && fCollapseMethods;
        //                createProjection= true;
        //                break;
    }

    if (createProjection) {
        IRegion[] regions = computeProjectionRanges(element);
        if (regions != null) {
            // comments
            for (int i = 0; i < regions.length - 1; i++) {
                Position position = createProjectionPosition(regions[i], null);
                boolean commentCollapse;
                if (position != null) {
                    if (i == 0 && (regions.length > 2 || fHasHeaderComment) && element == fFirstType) {
                        commentCollapse = fAllowCollapsing && fCollapseHeaderComments;
                    } else {
                        commentCollapse = fAllowCollapsing && fCollapseJavadoc;
                    }
                    map.put(new JavaProjectionAnnotation(element, commentCollapse, true), position);
                }
            }
            // code
            Position position = createProjectionPosition(regions[regions.length - 1], element);
            if (position != null)
                map.put(new JavaProjectionAnnotation(element, collapse, false), position);
        }
    }
}