Example usage for org.eclipse.jdt.internal.core JavadocConstants HTML_EXTENSION

List of usage examples for org.eclipse.jdt.internal.core JavadocConstants HTML_EXTENSION

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.core JavadocConstants HTML_EXTENSION.

Prototype

String HTML_EXTENSION

To view the source code for org.eclipse.jdt.internal.core JavadocConstants HTML_EXTENSION.

Click Source Link

Usage

From source file:com.codenvy.ide.ext.java.server.internal.core.BinaryType.java

License:Open Source License

public JavadocContents getJavadocContents(IProgressMonitor monitor) throws JavaModelException {
    JavaModelManager.PerProjectInfo projectInfo = manager.getPerProjectInfoCheckExistence();
    JavadocContents cachedJavadoc = null;
    synchronized (projectInfo.javadocCache) {
        cachedJavadoc = (JavadocContents) projectInfo.javadocCache.get(this);
    }//from  w w w .ja v a2  s .co  m

    if (cachedJavadoc != null && cachedJavadoc != EMPTY_JAVADOC) {
        return cachedJavadoc;
    }
    URL baseLocation = getJavadocBaseLocation();
    if (baseLocation == null) {
        return null;
    }
    StringBuffer pathBuffer = new StringBuffer(baseLocation.toExternalForm());

    if (!(pathBuffer.charAt(pathBuffer.length() - 1) == '/')) {
        pathBuffer.append('/');
    }
    IPackageFragment pack = getPackageFragment();
    String typeQualifiedName = null;
    if (isMember()) {
        IType currentType = this;
        StringBuffer typeName = new StringBuffer();
        while (currentType != null) {
            typeName.insert(0, currentType.getElementName());
            currentType = currentType.getDeclaringType();
            if (currentType != null) {
                typeName.insert(0, '.');
            }
        }
        typeQualifiedName = new String(typeName.toString());
    } else {
        typeQualifiedName = getElementName();
    }

    pathBuffer.append(pack.getElementName().replace('.', '/')).append('/').append(typeQualifiedName)
            .append(JavadocConstants.HTML_EXTENSION);
    if (monitor != null && monitor.isCanceled())
        throw new OperationCanceledException();
    final String contents = getURLContents(baseLocation, String.valueOf(pathBuffer));
    JavadocContents javadocContents = new JavadocContents(this, contents);
    synchronized (projectInfo.javadocCache) {
        projectInfo.javadocCache.put(this, javadocContents);
    }
    return javadocContents;
}