Example usage for org.eclipse.jdt.core IMember getHandleIdentifier

List of usage examples for org.eclipse.jdt.core IMember getHandleIdentifier

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IMember getHandleIdentifier.

Prototype

String getHandleIdentifier();

Source Link

Document

Returns a string representation of this element handle.

Usage

From source file:org.eclipse.ajdt.internal.ui.refactoring.PushInRefactoring.java

License:Open Source License

public PushInRefactoringDescriptor createDescriptor() {
    StringBuffer projectsb = new StringBuffer();
    StringBuffer descriptionsb = new StringBuffer();
    StringBuffer commentsb = new StringBuffer();
    StringBuffer argssb = new StringBuffer();
    for (IMember itd : itds) {
        projectsb.append(itd.getJavaProject().getElementName() + "\n");
        descriptionsb.append(MessageFormat.format("Push In intertype declaration for ''{0}''\n",
                new Object[] { itd.getElementName() }));
        String itdLabel = getModel(itd).getJavaElementLinkName(itd);
        commentsb.append(/*from www.  jav  a2  s .  co  m*/
                MessageFormat.format("Push In intertype declaration for ''{0}''\n", new Object[] { itdLabel }));
        argssb.append(itd.getHandleIdentifier() + "\n");
    }
    Map<String, String> arguments = new HashMap<String, String>();
    arguments.put(ALL_ITDS, argssb.toString());
    return new PushInRefactoringDescriptor(projectsb.toString(), descriptionsb.toString(), commentsb.toString(),
            arguments);
}

From source file:org.eclipse.gmf.tests.JDTUtil.java

License:Open Source License

private static IStatus newViolation(IMember member, String description) {
    return new Status(IStatus.ERROR, Plugin.getPluginID(), 0,
            MessageFormat.format("{0} has problem: {1}", member.getHandleIdentifier(), description), null);
}

From source file:org.eclipse.mylyn.internal.sandbox.bridge.bugs.BugzillaSearchManager.java

License:Open Source License

/**
 * Add data to the landmarks hash//www  .j a  v a2 s.c  o m
 * 
 * @param doiList
 *            The list of BugzillaSearchHitDoiInfo
 * @param m
 *            The member that this list is for
 */
public void addToLandmarksHash(List<BugzillaReportInfo> doiList, IMember m, int scope) {
    Map<Integer, List<BugzillaReportInfo>> searches = landmarksHash.get(m.getHandleIdentifier());

    if (searches == null) {
        searches = new HashMap<Integer, List<BugzillaReportInfo>>();
    }
    searches.put(scope, doiList);
    landmarksHash.put(m.getHandleIdentifier(), searches);
}

From source file:org.eclipse.mylyn.internal.sandbox.bridge.bugs.BugzillaSearchManager.java

License:Open Source License

/**
 * Get the doiList for the given IMember from the landmarks hash
 * /*  ww  w  .jav a 2s .  co m*/
 * @param m
 *            The member to get the doiList for
 * @return The doiList or null if it doesn't exist
 */
public List<BugzillaReportInfo> getFromLandmarksHash(IMember m, int scope) {
    Map<Integer, List<BugzillaReportInfo>> scopes = landmarksHash.get(m.getHandleIdentifier());
    if (scopes == null) {
        return null;
    } else {
        return scopes.get(scope);
    }
}

From source file:org.eclipse.objectteams.otdt.internal.ui.callinmarkers.CallinMarker.java

License:Open Source License

/** define the roles or callin mappings referenced by the base element. */
public <M extends IMember> void setRoleElement(Set<M> roleElements) {
    StringBuffer encoded = new StringBuffer();
    for (IMember m : roleElements) {
        encoded.append(m.getHandleIdentifier());
        encoded.append('\n');
    }/*from www .j  a v a 2 s.  co  m*/
    this._attribs.put(CallinMarker.ATTR_ROLE_ELEMENTS, encoded.toString());
}

From source file:org.eclipse.objectteams.otdt.internal.ui.callinmarkers.CallinMarker.java

License:Open Source License

/** set the base element (class or method) to which this marker is attached. */
public void setBaseElement(IMember baseElement) {
    _attribs.put(CallinMarker.ATTR_BASE_ELEMENT, baseElement.getHandleIdentifier());
    if (baseElement.getElementType() == IJavaElement.TYPE) {
        _attribs.put(IMarker.MESSAGE, OTDTUIPlugin.getResourceString("CallinMarker.playedby_tooltip") + ' ' //$NON-NLS-1$
                + baseElement.getElementName());
    } else if (this.id == CALLIN_ID) {
        _attribs.put(IMarker.MESSAGE, OTDTUIPlugin.getResourceString("CallinMarker.callin_tooltip") + ' ' //$NON-NLS-1$
                + baseElement.getElementName() + "()"); //$NON-NLS-1$
    } else if (this.id == CALLOUT_ID) {
        String baseMemberName = baseElement.getElementName();
        if (baseElement.getElementType() == IJavaElement.METHOD) // not for callout to field
            baseMemberName += "()"; //$NON-NLS-1$
        _attribs.put(IMarker.MESSAGE,/*from   w  ww .  ja v  a2  s  .  c o  m*/
                OTDTUIPlugin.getResourceString("CallinMarker.callout_tooltip") + ' ' + baseMemberName); //$NON-NLS-1$ 
    }
}

From source file:org.eclipse.objectteams.otdt.internal.ui.callinmarkers.CallinMarkerRemover.java

License:Open Source License

/**
 * Finds the marker attached to the given method.
 * Note: may return null if nothing found.
 *//* www .j ava 2  s. c  o  m*/
private static IMarker getCallinMarker(IMember baseElement, String markerKind, IResource resource)
        throws JavaModelException, CoreException {
    IMarker[] markers = resource.findMarkers(markerKind, true, IResource.DEPTH_INFINITE);

    String methodId = baseElement.getHandleIdentifier();

    for (int i = 0; i < markers.length; i++) {
        if (methodId.equals(markers[i].getAttribute(CallinMarker.ATTR_BASE_ELEMENT, null)))
            return markers[i];
    }
    return null;
}

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

License:Open Source License

/**
 * Creates a marker to denote a problem with the since tag (existence or
 * correctness) for a member and returns it, or <code>null</code>
 * /*  ww  w  .  j av  a2 s  .  c  o m*/
 * @param kind
 * @param messageargs
 * @param compilationUnit
 * @param member
 * @param version
 * @return a new {@link IApiProblem} or <code>null</code>
 */
private IApiProblem createSinceTagProblem(int kind, final String[] messageargs, final Delta info,
        final IMember member, final String version) {
    try {
        // create a marker on the member for missing @since tag
        IType declaringType = null;
        if (member.getElementType() == IJavaElement.TYPE) {
            declaringType = (IType) member;
        } else {
            declaringType = member.getDeclaringType();
        }
        IResource resource = Util.getResource(this.fJavaProject.getProject(), declaringType);
        if (resource == null) {
            return null;
        }
        int lineNumber = 1;
        int charStart = 0;
        int charEnd = 1;
        String qtn = null;
        if (member instanceof IType) {
            qtn = ((IType) member).getFullyQualifiedName();
        } else {
            qtn = declaringType.getFullyQualifiedName();
        }
        String[] messageArguments = null;
        if (!Util.isManifest(resource.getProjectRelativePath())) {
            messageArguments = messageargs;
            ICompilationUnit unit = member.getCompilationUnit();
            ISourceRange range = member.getNameRange();
            charStart = range.getOffset();
            charEnd = charStart + range.getLength();
            try {
                // unit cannot be null
                IDocument document = Util.getDocument(unit);
                lineNumber = document.getLineOfOffset(charStart);
            } catch (BadLocationException e) {
                ApiPlugin.log(e);
            }
        } else {
            // update the last entry in the message arguments
            if (!(member instanceof IType)) {
                // insert the declaring type
                int length = messageargs.length;
                messageArguments = new String[length];
                System.arraycopy(messageargs, 0, messageArguments, 0, length);
                StringBuffer buffer = new StringBuffer();
                buffer.append(qtn).append('.').append(messageargs[length - 1]);
                messageArguments[length - 1] = String.valueOf(buffer);
            } else {
                messageArguments = messageargs;
            }
        }
        return ApiProblemFactory.newApiSinceTagProblem(resource.getProjectRelativePath().toPortableString(),
                qtn, messageArguments,
                new String[] { IApiMarkerConstants.MARKER_ATTR_VERSION, IApiMarkerConstants.API_MARKER_ATTR_ID,
                        IApiMarkerConstants.MARKER_ATTR_HANDLE_ID },
                new Object[] { version, new Integer(IApiMarkerConstants.SINCE_TAG_MARKER_ID),
                        member.getHandleIdentifier() },
                lineNumber, charStart, charEnd, info.getElementType(), kind);
    } catch (CoreException e) {
        ApiPlugin.log(e);
    }
    return null;
}

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

License:Open Source License

/**
 * Creates an {@link IApiProblem} for the given compatibility delta
 * //from w  ww.  j  a  va  2s .c o m
 * @param delta
 * @param jproject
 * @param reference
 * @param component
 * @return a new compatibility problem or <code>null</code>
 */
private IApiProblem createCompatibilityProblem(final IDelta delta, final IApiComponent reference,
        final IApiComponent component) {
    try {
        Version referenceVersion = new Version(reference.getVersion());
        Version componentVersion = new Version(component.getVersion());
        if ((referenceVersion.getMajor() < componentVersion.getMajor())
                && !reportApiBreakageWhenMajorVersionIncremented()) {
            // API breakage are ok in this case and we don't want them to be
            // reported
            fBuildState.addBreakingChange(delta);
            return null;
        }
        IResource resource = null;
        IType type = null;
        // retrieve line number, char start and char end
        int lineNumber = 0;
        int charStart = -1;
        int charEnd = 1;
        IMember member = null;
        if (fJavaProject != null) {
            try {
                type = fJavaProject.findType(delta.getTypeName().replace('$', '.'));
            } catch (JavaModelException e) {
                ApiPlugin.log(e);
            }
            IProject project = fJavaProject.getProject();
            resource = Util.getResource(project, type);
            if (resource == null) {
                return null;
            }
            if (!Util.isManifest(resource.getProjectRelativePath())) {
                member = Util.getIMember(delta, fJavaProject);
            }
            if (member != null && !member.isBinary() && member.exists()) {
                ISourceRange range = member.getNameRange();
                charStart = range.getOffset();
                charEnd = charStart + range.getLength();
                try {
                    IDocument document = Util.getDocument(member.getCompilationUnit());
                    lineNumber = document.getLineOfOffset(charStart);
                } catch (BadLocationException e) {
                    // ignore
                }
            }
        }
        String path = null;
        if (resource != null) {
            path = resource.getProjectRelativePath().toPortableString();
        }
        IApiProblem apiProblem = ApiProblemFactory.newApiProblem(path, delta.getTypeName(),
                delta.getArguments(),
                new String[] { IApiMarkerConstants.MARKER_ATTR_HANDLE_ID,
                        IApiMarkerConstants.API_MARKER_ATTR_ID },
                new Object[] { member == null ? null : member.getHandleIdentifier(),
                        new Integer(IApiMarkerConstants.COMPATIBILITY_MARKER_ID), },
                lineNumber, charStart, charEnd, IApiProblem.CATEGORY_COMPATIBILITY, delta.getElementType(),
                delta.getKind(), delta.getFlags());
        return apiProblem;

    } catch (CoreException e) {
        ApiPlugin.log(e);
    }
    return null;
}