Class JavadocLinkGenerator


  • public class JavadocLinkGenerator
    extends Object
    Generates links for elements (packages, classes, fields, constructors, methods) in external and/or an internal (potentially not yet existing) javadoc site. The external site must be accessible for it to be considered due to the different fragment formats.
    • Constructor Detail

      • JavadocLinkGenerator

        public JavadocLinkGenerator​(URI internalJavadocSiteUrl,
                                    String internalJavadocVersion)
        Constructor for an offline internal site only.
        Parameters:
        internalJavadocSiteUrl - the url of the javadoc generated website
        internalJavadocVersion - the version of javadoc with which the internal site from internalJavadocSiteUrl has been generated
      • JavadocLinkGenerator

        public JavadocLinkGenerator​(List<URI> externalJavadocSiteUrls,
                                    org.apache.maven.settings.Settings settings)
        Constructor for online external sites only.
        Parameters:
        externalJavadocSiteUrls -
        settings -
      • JavadocLinkGenerator

        public JavadocLinkGenerator​(URI internalJavadocSiteUrl,
                                    String internalJavadocVersion,
                                    List<URI> externalJavadocSiteUrls,
                                    org.apache.maven.settings.Settings settings)
        Constructor for both an internal (offline) and external (online) sites.
        Parameters:
        internalJavadocSiteUrl -
        internalJavadocVersion -
        externalJavadocSiteUrls -
        settings -
    • Method Detail

      • createLink

        public URI createLink​(String binaryName)
        Generates a (deep-)link to a HTML page in any of the sites given to the constructor. The link is not validated (i.e. might point to a non-existing page). Preferably resolves from the online sites if they provide the given package.
        Parameters:
        binaryName - a binary name according to JLS 13.1
        Returns:
        the (deep-) link towards a javadoc page
        Throws:
        IllegalArgumentException - in case no javadoc link could be generated for the given name
      • isLinkValid

        public static boolean isLinkValid​(URI url,
                                          Path baseDirectory)
        Checks if a given link is valid. For absolute links uses the underling HttpURLConnection, otherwise checks for existence of the file on the filesystem.
        Parameters:
        url - the url to check
        baseDirectory - the base directory to which relative file URLs refer
        Returns:
        true in case the given link is valid otherwise false