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

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

Introduction

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

Prototype

int LOCAL_VARIABLE

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

Click Source Link

Document

Constant representing a local variable declaration.

Usage

From source file:org.eclipse.xtext.common.types.ui.refactoring.JvmRenameRefactoringProvider.java

License:Open Source License

/**
 * Copied from {@link org.eclipse.jdt.internal.ui.refactoring.reorg.RenameLinkedMode}. There does not seem to be a
 * clean way to initialize a JDT refactoring from the outside.
 *//*from   w w w  .j  a  v a 2s  .c om*/
public RenameJavaElementDescriptor createRenameDescriptor(IJavaElement javaElement, String newName)
        throws JavaModelException {
    String contributionId;
    // see RefactoringExecutionStarter#createRenameSupport(..):
    int elementType = javaElement.getElementType();
    switch (elementType) {
    case IJavaElement.JAVA_PROJECT:
        contributionId = IJavaRefactorings.RENAME_JAVA_PROJECT;
        break;
    case IJavaElement.PACKAGE_FRAGMENT_ROOT:
        contributionId = IJavaRefactorings.RENAME_SOURCE_FOLDER;
        break;
    case IJavaElement.PACKAGE_FRAGMENT:
        contributionId = IJavaRefactorings.RENAME_PACKAGE;
        break;
    case IJavaElement.COMPILATION_UNIT:
        contributionId = IJavaRefactorings.RENAME_COMPILATION_UNIT;
        break;
    case IJavaElement.TYPE:
        contributionId = IJavaRefactorings.RENAME_TYPE;
        break;
    case IJavaElement.METHOD:
        final IMethod method = (IMethod) javaElement;
        if (method.isConstructor())
            return createRenameDescriptor(method.getDeclaringType(), newName);
        else
            contributionId = IJavaRefactorings.RENAME_METHOD;
        break;
    case IJavaElement.FIELD:
        IField field = (IField) javaElement;
        if (field.isEnumConstant())
            contributionId = IJavaRefactorings.RENAME_ENUM_CONSTANT;
        else
            contributionId = IJavaRefactorings.RENAME_FIELD;
        break;
    case IJavaElement.TYPE_PARAMETER:
        contributionId = IJavaRefactorings.RENAME_TYPE_PARAMETER;
        break;
    case IJavaElement.LOCAL_VARIABLE:
        contributionId = IJavaRefactorings.RENAME_LOCAL_VARIABLE;
        break;
    default:
        return null;
    }

    RenameJavaElementDescriptor descriptor = (RenameJavaElementDescriptor) RefactoringCore
            .getRefactoringContribution(contributionId).createDescriptor();
    descriptor.setJavaElement(javaElement);
    descriptor.setNewName(newName);
    if (elementType != IJavaElement.PACKAGE_FRAGMENT_ROOT)
        descriptor.setUpdateReferences(true);

    IDialogSettings javaSettings = JavaPlugin.getDefault().getDialogSettings();
    IDialogSettings refactoringSettings = javaSettings.getSection(RefactoringWizardPage.REFACTORING_SETTINGS); //TODO: undocumented API
    if (refactoringSettings == null) {
        refactoringSettings = javaSettings.addNewSection(RefactoringWizardPage.REFACTORING_SETTINGS);
    }

    switch (elementType) {
    case IJavaElement.METHOD:
    case IJavaElement.FIELD:
        descriptor.setDeprecateDelegate(refactoringSettings.getBoolean(DelegateUIHelper.DELEGATE_DEPRECATION));
        descriptor.setKeepOriginal(refactoringSettings.getBoolean(DelegateUIHelper.DELEGATE_UPDATING));
    }
    switch (elementType) {
    case IJavaElement.TYPE:
        //         case IJavaElement.COMPILATION_UNIT: // TODO
        descriptor.setUpdateSimilarDeclarations(
                refactoringSettings.getBoolean(RenameRefactoringWizard.TYPE_UPDATE_SIMILAR_ELEMENTS));
        int strategy;
        try {
            strategy = refactoringSettings.getInt(RenameRefactoringWizard.TYPE_SIMILAR_MATCH_STRATEGY);
        } catch (NumberFormatException e) {
            strategy = RenamingNameSuggestor.STRATEGY_EXACT;
        }
        descriptor.setMatchStrategy(strategy);
    }
    switch (elementType) {
    case IJavaElement.PACKAGE_FRAGMENT:
        descriptor.setUpdateHierarchy(
                refactoringSettings.getBoolean(RenameRefactoringWizard.PACKAGE_RENAME_SUBPACKAGES));
    }
    switch (elementType) {
    case IJavaElement.PACKAGE_FRAGMENT:
    case IJavaElement.TYPE:
        String fileNamePatterns = refactoringSettings.get(RenameRefactoringWizard.QUALIFIED_NAMES_PATTERNS);
        if (fileNamePatterns != null && fileNamePatterns.length() != 0) {
            descriptor.setFileNamePatterns(fileNamePatterns);
            boolean updateQualifiedNames = refactoringSettings
                    .getBoolean(RenameRefactoringWizard.UPDATE_QUALIFIED_NAMES);
            descriptor.setUpdateQualifiedNames(updateQualifiedNames);
            //               fShowPreview|= updateQualifiedNames;
        }
    }
    switch (elementType) {
    case IJavaElement.PACKAGE_FRAGMENT:
    case IJavaElement.TYPE:
    case IJavaElement.FIELD:
        boolean updateTextualOccurrences = refactoringSettings
                .getBoolean(RenameRefactoringWizard.UPDATE_TEXTUAL_MATCHES);
        descriptor.setUpdateTextualOccurrences(updateTextualOccurrences);
        //            fShowPreview|= updateTextualOccurrences;
    }
    switch (elementType) {
    case IJavaElement.FIELD:
        descriptor
                .setRenameGetters(refactoringSettings.getBoolean(RenameRefactoringWizard.FIELD_RENAME_GETTER));
        descriptor
                .setRenameSetters(refactoringSettings.getBoolean(RenameRefactoringWizard.FIELD_RENAME_SETTER));
    }
    return descriptor;
}

From source file:org.grails.ide.eclipse.editor.gsp.search.FindTagReferences.java

License:Open Source License

/**
 * only check for tags if the java element states that 
 * is a field in a taglib// ww w  .  j  a  v  a2  s  .  c  om
 * @param elt
 * @return the tag name if the specification corresponds to a tag, or else null
 */
boolean shouldSearchForTagRefs(IJavaElement elt) {
    // strangely, if the referenced tag is from a class file, then the type is ILocalVariable
    if (elt.getElementType() == IJavaElement.LOCAL_VARIABLE) {
        elt = elt.getParent();
    }
    if (elt.getElementType() == IJavaElement.FIELD) {
        ICompilationUnit unit = (ICompilationUnit) elt.getAncestor(IJavaElement.COMPILATION_UNIT);
        if (unit instanceof GroovyCompilationUnit) {
            if (GrailsWorkspaceCore.isTagLibClass((GroovyCompilationUnit) unit)) {
                tagField = elt;
                tagName = tagField.getElementName();
            }
        } else {
            // could be a built in tag
            IType type = (IType) elt.getAncestor(IJavaElement.TYPE);
            if (type != null && type.isReadOnly() && type.getElementName().endsWith("TagLib")) {
                IPackageFragment frag = (IPackageFragment) elt.getAncestor(IJavaElement.PACKAGE_FRAGMENT);
                if (frag.getElementName().equals("org.codehaus.groovy.grails.plugins.web.taglib")) {
                    tagField = elt;
                    tagName = tagField.getElementName();
                }
            }
        }
    }
    return tagField != null;
}

From source file:org.jboss.tools.common.el.ui.internal.info.ELInfoHover.java

License:Open Source License

private static String extractProposalContextInfo(IJavaElement[] elements) {
    int nResults = elements.length;
    StringBuffer buffer = new StringBuffer();
    boolean hasContents = false;
    IJavaElement element = null;//  ww  w .j a va  2 s. c om

    if (nResults > 1) {
        for (int i = 0; i < elements.length; i++) {
            if (elements[i] == null)
                continue;
            if (elements[i] instanceof IMember || elements[i].getElementType() == IJavaElement.LOCAL_VARIABLE
                    || elements[i].getElementType() == IJavaElement.TYPE_PARAMETER) {
                addFullInfo(buffer, elements[i]);
                buffer.append("<br/>"); //$NON-NLS-1$
                hasContents = true;
            }
        }
    } else {
        element = elements[0];
        if (element instanceof IMember || element.getElementType() == IJavaElement.LOCAL_VARIABLE
                || element.getElementType() == IJavaElement.TYPE_PARAMETER) {
            addFullInfo(buffer, element);
            hasContents = true;
        }
    }

    if (!hasContents || buffer.length() == 0)
        return null;

    HTMLPrinter.insertPageProlog(buffer, 0, getCSSStyles());
    HTMLPrinter.addPageEpilog(buffer);
    return buffer.toString();
}

From source file:org.jboss.tools.common.el.ui.internal.info.ELInfoHover.java

License:Open Source License

private static void addFullInfo(StringBuffer buffer, IJavaElement element) {
    if (element instanceof IMember) {
        IMember member = (IMember) element;
        HTMLPrinter.addSmallHeader(buffer, getInfoText(member));
        Reader reader = null;//from   w w  w.j  a va 2s.c o  m
        try {
            String content = JavadocContentAccess2.getHTMLContent(member, true);
            reader = content == null ? null : new StringReader(content);
        } catch (JavaModelException ex) {
            ElUiPlugin.getDefault().logError(ex);
        } catch (CoreException e) {
            ElUiPlugin.getDefault().logError(e);
        }

        if (reader == null) {
            reader = new StringReader(Messages.NO_JAVADOC);
        }

        if (reader != null) {
            buffer.append("<br/>"); //$NON-NLS-1$
            buffer.append(HTMLPrinter.read(reader));
        }

    } else if (element.getElementType() == IJavaElement.LOCAL_VARIABLE
            || element.getElementType() == IJavaElement.TYPE_PARAMETER) {
        HTMLPrinter.addSmallHeader(buffer, getInfoText(element));
    }
}

From source file:org.jboss.tools.common.el.ui.internal.info.ELInfoHover.java

License:Open Source License

private static String getInfoText(IJavaElement element) {
    long flags;/* w ww  . j  a v  a2s . c  om*/
    switch (element.getElementType()) {
    case IJavaElement.LOCAL_VARIABLE:
        flags = LOCAL_VARIABLE_FLAGS;
        break;
    case IJavaElement.TYPE_PARAMETER:
        flags = TYPE_PARAMETER_FLAGS;
        break;
    default:
        flags = LABEL_FLAGS;
        break;
    }

    return JavadocHover.getImageAndLabel(element, true, JavaElementLinks.getElementLabel(element, flags, true));
}

From source file:org.jboss.tools.jst.jsp.contentassist.AutoELContentAssistantProposal.java

License:Open Source License

private String extractProposalContextInfo(IJavaElement[] elements) {
    int nResults = elements.length;
    StringBuffer buffer = new StringBuffer();
    boolean hasContents = false;
    IJavaElement element = null;/*from w ww  .jav a2s .  co  m*/

    if (nResults > 1) {
        /*
         * for (int i= 0; i < elements.length; i++) { if (elements[i] ==
         * null) continue; if (elements[i] instanceof IMember ||
         * elements[i].getElementType() == IJavaElement.LOCAL_VARIABLE ||
         * elements[i].getElementType() == IJavaElement.TYPE_PARAMETER) {
         * buffer
         * .append('\uE467').append(' ').append(getInfoText(elements[i]));
         * hasContents= true; } buffer.append("<br/>"); //$NON-NLS-1$ }
         */
        for (int i = 0; i < elements.length; i++) {
            if (elements[i] == null)
                continue;
            if (elements[i] instanceof IMember || elements[i].getElementType() == IJavaElement.LOCAL_VARIABLE
                    || elements[i].getElementType() == IJavaElement.TYPE_PARAMETER) {
                buffer.append('\uE467').append(' ');
                addFullInfo(buffer, elements[i]);
                buffer.append("<br/>"); //$NON-NLS-1$
                hasContents = true;
            }
        }
    } else {
        element = elements[0];
        if (element instanceof IMember || element.getElementType() == IJavaElement.LOCAL_VARIABLE
                || element.getElementType() == IJavaElement.TYPE_PARAMETER) {
            addFullInfo(buffer, element);
            hasContents = true;
        }
    }

    if (!hasContents || buffer.length() == 0)
        return null;

    HTMLPrinter.insertPageProlog(buffer, 0, (String) null);
    HTMLPrinter.addPageEpilog(buffer);
    return buffer.toString();
}

From source file:org.jboss.tools.jst.jsp.contentassist.AutoELContentAssistantProposal.java

License:Open Source License

private String getInfoText(IJavaElement element) {
    long flags;/* ww  w. j a v a2  s .c  o m*/
    switch (element.getElementType()) {
    case IJavaElement.LOCAL_VARIABLE:
        flags = LOCAL_VARIABLE_FLAGS;
        break;
    case IJavaElement.TYPE_PARAMETER:
        flags = TYPE_PARAMETER_FLAGS;
        break;
    default:
        flags = LABEL_FLAGS;
        break;
    }
    StringBuffer label = new StringBuffer(JavaElementLinks.getElementLabel(element, flags));

    // The following lines were commented out because of JBIDE-8923 faced in
    // Eclipse 3.7
    //
    // StringBuffer buf= new StringBuffer();
    //      buf.append("<span style='word-wrap:break-word;'>"); //$NON-NLS-1$
    // buf.append(label);
    //      buf.append("</span>"); //$NON-NLS-1$

    // return buf.toString();
    return label.toString();
}

From source file:org.jboss.tools.jst.jsp.contentassist.AutoELContentAssistantProposal.java

License:Open Source License

private void addFullInfo(StringBuffer buffer, IJavaElement element) {
    if (element instanceof IMember) {
        IMember member = (IMember) element;
        HTMLPrinter.addSmallHeader(buffer, getInfoText(member));
        Reader reader = null;/*from w  w w  .j  ava 2  s .c om*/
        try {
            String content = JavadocContentAccess2.getHTMLContent(member, true);
            reader = content == null ? null : new StringReader(content);
        } catch (JavaModelException ex) {
            JavaPlugin.log(ex);
        }

        if (reader == null) {
            reader = new StringReader(Messages.NO_JAVADOC);
        }

        if (reader != null) {
            buffer.append("<br/>"); //$NON-NLS-1$
            buffer.append(HTMLPrinter.read(reader));
            // HTMLPrinter.addParagraph(buffer, reader);
        }

    } else if (element.getElementType() == IJavaElement.LOCAL_VARIABLE
            || element.getElementType() == IJavaElement.TYPE_PARAMETER) {
        HTMLPrinter.addSmallHeader(buffer, getInfoText(element));
    }
}

From source file:org.jboss.tools.jst.jsp.jspeditor.info.JavaStringELInfoHover.java

License:Open Source License

public static ELInfoHoverBrowserInformationControlInput getHoverInfo2Internal(IJavaElement[] elements,
        boolean useFullHTML) {
    int nResults = elements.length;
    StringBuffer buffer = new StringBuffer();
    boolean hasContents = false;
    String base = null;//w w  w.jav a  2s. c o m
    IJavaElement element = null;

    int leadingImageWidth = 0;

    if (nResults > 1) {
        for (int i = 0; i < elements.length; i++) {
            if (useFullHTML) {
                HTMLPrinter.startBulletList(buffer);
            }
            if (elements[i] == null)
                continue;
            if (elements[i] instanceof IMember || elements[i].getElementType() == IJavaElement.LOCAL_VARIABLE
                    || elements[i].getElementType() == IJavaElement.TYPE_PARAMETER) {
                if (useFullHTML) {
                    HTMLPrinter.addBullet(buffer, getInfoText(elements[i], false, useFullHTML));
                } else {
                    buffer.append('\u002d').append(' ').append(getInfoText(elements[i], false, useFullHTML));
                }
                hasContents = true;
            }
            if (useFullHTML) {
                HTMLPrinter.endBulletList(buffer);
            } else {
                buffer.append("<br/>"); //$NON-NLS-1$
            }
        }

        for (int i = 0; i < elements.length; i++) {
            if (elements[i] == null)
                continue;
            if (elements[i] instanceof IMember || elements[i].getElementType() == IJavaElement.LOCAL_VARIABLE
                    || elements[i].getElementType() == IJavaElement.TYPE_PARAMETER) {
                if (!useFullHTML) {
                    buffer.append("<br/>"); //$NON-NLS-1$
                }
                base = addFullInfo(buffer, elements[i], useFullHTML);
                hasContents = true;
            }
        }
    } else {
        element = elements[0];
        if (element instanceof IMember || element.getElementType() == IJavaElement.LOCAL_VARIABLE
                || element.getElementType() == IJavaElement.TYPE_PARAMETER) {
            base = addFullInfo(buffer, element, useFullHTML);
            hasContents = true;
        }
        leadingImageWidth = 20;
    }

    if (!hasContents)
        return null;

    if (buffer.length() > 0) {
        HTMLPrinter.insertPageProlog(buffer, 0, useFullHTML ? getStyleSheet() : null);
        if (base != null) {
            int endHeadIdx = buffer.indexOf("</head>"); //$NON-NLS-1$
            if (endHeadIdx != -1) {
                buffer.insert(endHeadIdx, "\n<base href='" + base + "'>\n"); //$NON-NLS-1$ //$NON-NLS-2$
            }
        }
        HTMLPrinter.addPageEpilog(buffer);

        return new ELInfoHoverBrowserInformationControlInput(null, elements, buffer.toString(),
                leadingImageWidth);
    }

    return null;
}

From source file:org.jboss.tools.jst.jsp.jspeditor.info.JavaStringELInfoHover.java

License:Open Source License

/**
 * Adds full information to the hover/*from w ww.  j ava2 s.  com*/
 * Returns base URL if exists
 * 
 * @param buffer
 * @param element
 * @return
 */
private static String addFullInfo(StringBuffer buffer, IJavaElement element, boolean useFullHTML) {
    String base = null;

    if (element instanceof IMember) {
        IMember member = (IMember) element;
        HTMLPrinter.addSmallHeader(buffer, getInfoText(member, true, useFullHTML));
        Reader reader;
        try {
            String content = JavadocContentAccess2.getHTMLContent(member, true);
            reader = content == null ? null : new StringReader(content);

            // Provide hint why there's no Javadoc
            if (reader == null && member.isBinary()) {
                boolean hasAttachedJavadoc = JavaDocLocations.getJavadocBaseLocation(member) != null;
                IPackageFragmentRoot root = (IPackageFragmentRoot) member
                        .getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
                boolean hasAttachedSource = root != null && root.getSourceAttachmentPath() != null;
                IOpenable openable = member.getOpenable();
                boolean hasSource = openable.getBuffer() != null;

                if (!hasAttachedSource && !hasAttachedJavadoc)
                    reader = new StringReader(ELInfoHoverMessages.ELInfoHover_noAttachments);
                else if (!hasAttachedJavadoc && !hasSource)
                    reader = new StringReader(ELInfoHoverMessages.ELInfoHover_noAttachedJavadoc);
                else if (!hasAttachedSource)
                    reader = new StringReader(ELInfoHoverMessages.ELInfoHover_noAttachedJavaSource);
                else if (!hasSource)
                    reader = new StringReader(ELInfoHoverMessages.ELInfoHover_noInformation);

            } else {
                base = JavaDocLocations.getBaseURL(member);
            }

        } catch (JavaModelException ex) {
            reader = new StringReader(ELInfoHoverMessages.ELInfoHover_error_gettingJavadoc);
            JavaPlugin.log(ex);
        }

        if (reader != null) {
            HTMLPrinter.addParagraph(buffer, reader);
        }

    } else if (element.getElementType() == IJavaElement.LOCAL_VARIABLE
            || element.getElementType() == IJavaElement.TYPE_PARAMETER) {
        HTMLPrinter.addSmallHeader(buffer, getInfoText(element, true, useFullHTML));
    }
    return base;
}