package org.jbehave.eclipse.editor; import org.eclipse.jdt.core.ICompilationUnit; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IMember; import org.eclipse.jdt.core.IMethod; import org.eclipse.jdt.core.JavaModelException; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.Document; import org.eclipse.jface.text.IDocument; public class JDTUtils { public static String formatQualifiedName(IMethod method) { StringBuilder builder = new StringBuilder(); ICompilationUnit cu= (ICompilationUnit)method.getAncestor(IJavaElement.COMPILATION_UNIT); if (cu != null) { builder // .append(cu.getParent().getElementName()) // .append('.') // .append(cu.getElementName()) // .append("#"); } builder.append(method.getElementName()); return builder.toString(); } public static String getJavadocOf(IMember member) throws JavaModelException, BadLocationException { String javadoc = getRawJavadocOf(member); javadoc = javadoc.replace('*', ' '); javadoc = javadoc.replace('/', ' '); javadoc = javadoc.replace('\n', ' '); javadoc = javadoc.replace("@", "\n@"); //$NON-NLS-1$//$NON-NLS-2$ javadoc = javadoc.replace(" ", " "); //$NON-NLS-1$ //$NON-NLS-2$ javadoc = javadoc.replace(" ", " "); //$NON-NLS-1$ //$NON-NLS-2$ return javadoc; } public static String getRawJavadocOf(IMember member) throws JavaModelException, BadLocationException { String javadoc = "" ; //$NON-NLS-1$ if(member.getSource()!= null) { IDocument source = new Document(member.getSource()); if(member.getJavadocRange() != null){ javadoc = source.get(0,member.getJavadocRange().getLength()); } } return javadoc; } }