List of usage examples for org.eclipse.jdt.core IMember getJavadocRange
ISourceRange getJavadocRange() throws JavaModelException;
From source file:at.bestsolution.fxide.jdt.editor.JDTJavaDocSupport.java
License:Open Source License
private static HtmlString getMemberJavaDoc(IMember member) throws JavaModelException { IBuffer buf = member.getOpenable().getBuffer(); if (buf != null) { ISourceRange javadocRange = member.getJavadocRange(); if (javadocRange != null) { String rawJavadoc = buf.getText(javadocRange.getOffset(), javadocRange.getLength()); return JDTJavaDocSupport.toHtml(member, rawJavadoc); }//from ww w . ja va2 s . co m } return null; }
From source file:at.bestsolution.fxide.jdt.text.javadoc.JavadocContentAccess.java
License:Open Source License
/** * Gets a reader for an IMember's Javadoc comment content from the source attachment. * The content does contain only the text from the comment without the Javadoc leading star characters. * Returns <code>null</code> if the member does not contain a Javadoc comment or if no source is available. * @param member The member to get the Javadoc of. * @return Returns a reader for the Javadoc comment content or <code>null</code> if the member * does not contain a Javadoc comment or if no source is available * @throws JavaModelException is thrown when the elements javadoc can not be accessed * @since 3.4//from w w w . ja v a 2s . c om */ private static Reader internalGetContentReader(IMember member) throws JavaModelException { IBuffer buf = member.getOpenable().getBuffer(); if (buf == null) { return null; // no source attachment found } ISourceRange javadocRange = member.getJavadocRange(); if (javadocRange != null) { JavaDocCommentReader reader = new JavaDocCommentReader(buf, javadocRange.getOffset(), javadocRange.getOffset() + javadocRange.getLength() - 1); if (!containsOnlyInheritDoc(reader, javadocRange.getLength())) { reader.reset(); return reader; } } return null; }
From source file:at.bestsolution.fxide.jdt.text.javadoc.JavadocContentAccess2.java
License:Open Source License
private static String getHTMLContentFromSource(IJavaElement element) throws JavaModelException { IMember member; if (element instanceof ILocalVariable) { member = ((ILocalVariable) element).getDeclaringMember(); } else if (element instanceof ITypeParameter) { member = ((ITypeParameter) element).getDeclaringMember(); } else if (element instanceof IMember) { member = (IMember) element;//from w ww .j a v a 2s . com } else { return null; } IBuffer buf = member.getOpenable().getBuffer(); if (buf == null) { return null; // no source attachment found } ISourceRange javadocRange = member.getJavadocRange(); if (javadocRange == null) { if (canInheritJavadoc(member)) { // Try to use the inheritDoc algorithm. String inheritedJavadoc = javadoc2HTML(member, element, "/***/"); //$NON-NLS-1$ if (inheritedJavadoc != null && inheritedJavadoc.length() > 0) { return inheritedJavadoc; } } return getJavaFxPropertyDoc(member); } String rawJavadoc = buf.getText(javadocRange.getOffset(), javadocRange.getLength()); return javadoc2HTML(member, element, rawJavadoc); }
From source file:com.codenvy.ide.ext.java.server.internal.codeassist.SelectionEngine.java
License:Open Source License
private Object findMethodWithAttachedDocInHierarchy(final MethodBinding method) throws JavaModelException { ReferenceBinding type = method.declaringClass; final SelectionRequestor requestor1 = (SelectionRequestor) this.requestor; return new InheritDocVisitor() { public Object visit(ReferenceBinding currType) throws JavaModelException { MethodBinding overridden = findOverriddenMethodInType(currType, method); if (overridden == null) return InheritDocVisitor.CONTINUE; TypeBinding args[] = overridden.parameters; String names[] = new String[args.length]; for (int i = 0; i < args.length; i++) { names[i] = Signature.createTypeSignature(args[i].sourceName(), false); }/* ww w . ja v a 2 s. c o m*/ IMember member = (IMember) requestor1.findMethodFromBinding(overridden, names, overridden.declaringClass); if (member == null) return InheritDocVisitor.CONTINUE; if (member.getAttachedJavadoc(null) != null) { // for binary methods with attached javadoc and no source attached return overridden; } IOpenable openable = member.getOpenable(); if (openable == null) return InheritDocVisitor.CONTINUE; IBuffer buf = openable.getBuffer(); if (buf == null) { // no source attachment found. This method maybe the one. Stop. return InheritDocVisitor.STOP_BRANCH; } ISourceRange javadocRange = member.getJavadocRange(); if (javadocRange == null) return InheritDocVisitor.CONTINUE; // this method doesn't have javadoc, continue to look. String rawJavadoc = buf.getText(javadocRange.getOffset(), javadocRange.getLength()); if (rawJavadoc != null) { return overridden; } return InheritDocVisitor.CONTINUE; } }.visitInheritDoc(type); }
From source file:com.codenvy.ide.ext.java.server.javadoc.JavadocContentAccess2.java
License:Open Source License
private static String getHTMLContentFromSource(IMember member, String urlPrefix) throws JavaModelException { IBuffer buf = member.getOpenable().getBuffer(); if (buf == null) { return null; // no source attachment found }//from w w w. ja v a 2s .c o m ISourceRange javadocRange = member.getJavadocRange(); if (javadocRange == null) { if (canInheritJavadoc(member)) { // Try to use the inheritDoc algorithm. String inheritedJavadoc = javadoc2HTML(member, "/***/", urlPrefix); //$NON-NLS-1$ if (inheritedJavadoc != null && inheritedJavadoc.length() > 0) { return inheritedJavadoc; } } return null;// getJavaFxPropertyDoc(member); } String rawJavadoc = buf.getText(javadocRange.getOffset(), javadocRange.getLength()); return javadoc2HTML(member, rawJavadoc, urlPrefix); }
From source file:com.curlap.orb.plugin.common.CurlSpecUtil.java
License:Open Source License
public static String getCurlDocString(IMember iMember) throws JavaModelException { ISourceRange range = iMember.getJavadocRange(); if (range == null) return null; IBuffer buf = iMember.getOpenable().getBuffer(); JavaDocCommentReader reader = new JavaDocCommentReader(buf, range.getOffset(), range.getOffset() + range.getLength() - 1); StringBuffer javadocBuf = new StringBuffer(); char[] buffer = new char[1024]; int count;/* www . j av a 2s . c o m*/ try { while ((count = reader.read(buffer)) != -1) javadocBuf.append(buffer, 0, count); } catch (IOException e) { return null; } return javadocBuf.toString(); }
From source file:com.ecfeed.ui.common.JavaDocSupport.java
License:Open Source License
private static String getJavadoc(IMember member) { if (member != null) { try {//from w w w . j a va 2 s . c o m ICompilationUnit unit = member.getCompilationUnit(); ISourceRange range = member.getJavadocRange(); if (unit != null && range != null) { String raw = unit.getSource().substring(range.getOffset(), range.getOffset() + range.getLength()); String trimmed = raw.replaceAll("\\n\\s*\\*", EMPTY_STRING + "\n*"); return trimmed; } } catch (JavaModelException e) { SystemLogger.logCatch(e.getMessage()); } } return null; }
From source file:com.ecfeed.ui.common.JavaDocSupport.java
License:Open Source License
private static void exportJavadoc(IMember member, String comments) throws JavaModelException { if (member != null) { if (comments == null || comments.length() == 0) { removeJavadoc(member);//w w w .ja v a2 s .c om } else { ISourceRange currentJavaDocRange = member.getJavadocRange(); TextEdit edit = null; String indent = getIndent(member); if (currentJavaDocRange != null) { String javadoc = addJavadocFormatting(comments, indent); edit = new ReplaceEdit(currentJavaDocRange.getOffset(), currentJavaDocRange.getLength(), javadoc); } else if (member.getSourceRange().getOffset() >= 0) { boolean moveToNewLine = false; if (indent.matches("\\s*") == false) { indent = trimIndent(indent); moveToNewLine = true; } String javadoc = addJavadocFormatting(comments, indent); String comment = javadoc + "\n" + indent; if (moveToNewLine) { comment = "\n" + indent + comment; } edit = new InsertEdit(member.getSourceRange().getOffset(), comment); } if (edit != null) { ICompilationUnit unit = member.getCompilationUnit(); if (unit != null) { unit.becomeWorkingCopy(null); unit.applyTextEdit(edit, null); unit.commitWorkingCopy(true, null); } } } } }
From source file:com.ecfeed.ui.common.JavaDocSupport.java
License:Open Source License
private static void removeJavadoc(IMember member) throws JavaModelException { ISourceRange currentJavaDocRange = member.getJavadocRange(); if (currentJavaDocRange != null) { ICompilationUnit unit = member.getCompilationUnit(); String source = unit.getSource(); int offset = currentJavaDocRange.getOffset(); int length = currentJavaDocRange.getLength(); while (((Character) source.charAt(offset + length)).toString().matches("\\s")) { ++length;// www . j a va 2 s. c o m } unit.applyTextEdit(new DeleteEdit(offset, length), null); unit.commitWorkingCopy(false, null); } }
From source file:com.testify.ecfeed.ui.common.JavaDocSupport.java
License:Open Source License
private static String getJavadoc(IMember member) { if (member != null) { try {// w ww . ja v a2 s . c om ICompilationUnit unit = member.getCompilationUnit(); ISourceRange range = member.getJavadocRange(); if (unit != null && range != null) { String raw = unit.getSource().substring(range.getOffset(), range.getOffset() + range.getLength()); String trimmed = raw.replaceAll("\\n\\s*\\*", EMPTY_STRING + "\n*"); return trimmed; } } catch (JavaModelException e) { } } return null; }