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

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

Introduction

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

Prototype

String PACKAGE_FILE_NAME

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

Click Source Link

Usage

From source file:org.eclipse.jdt.internal.core.PackageFragment.java

License:Open Source License

public String getAttachedJavadoc(IProgressMonitor monitor) throws JavaModelException {
    PerProjectInfo projectInfo = JavaModelManager.getJavaModelManager()
            .getPerProjectInfoCheckExistence(getJavaProject().getProject());
    String cachedJavadoc = null;/*ww w. j a v a  2  s .c  o m*/
    synchronized (projectInfo.javadocCache) {
        cachedJavadoc = (String) projectInfo.javadocCache.get(this);
    }
    if (cachedJavadoc != null) {
        return cachedJavadoc;
    }
    URL baseLocation = getJavadocBaseLocation();
    if (baseLocation == null) {
        return null;
    }
    StringBuffer pathBuffer = new StringBuffer(baseLocation.toExternalForm());

    if (!(pathBuffer.charAt(pathBuffer.length() - 1) == '/')) {
        pathBuffer.append('/');
    }
    String packPath = getElementName().replace('.', '/');
    pathBuffer.append(packPath).append('/').append(JavadocConstants.PACKAGE_FILE_NAME);

    if (monitor != null && monitor.isCanceled())
        throw new OperationCanceledException();
    final String contents = getURLContents(String.valueOf(pathBuffer));
    if (monitor != null && monitor.isCanceled())
        throw new OperationCanceledException();
    if (contents == null)
        throw new JavaModelException(
                new JavaModelStatus(IJavaModelStatusConstants.CANNOT_RETRIEVE_ATTACHED_JAVADOC, this));
    synchronized (projectInfo.javadocCache) {
        projectInfo.javadocCache.put(this, contents);
    }
    return contents;
}