Class JavadocLinkGenerator
java.lang.Object
org.apache.maven.tools.plugin.javadoc.JavadocLinkGenerator
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.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumJavadoc tool version ranges whose generated sites expose different link formats. -
Constructor Summary
ConstructorsConstructorDescriptionJavadocLinkGenerator(URI internalJavadocSiteUrl, String internalJavadocVersion) Constructor for an offline internal site only.JavadocLinkGenerator(URI internalJavadocSiteUrl, String internalJavadocVersion, List<URI> externalJavadocSiteUrls, org.apache.maven.settings.Settings settings) Constructor for both an internal (offline) and external (online) sites.JavadocLinkGenerator(List<URI> externalJavadocSiteUrls, org.apache.maven.settings.Settings settings) Constructor for online external sites only. -
Method Summary
Modifier and TypeMethodDescriptioncreateLink(String binaryName) Generates a (deep-)link to a HTML page in any of the sites given to the constructor.createLink(FullyQualifiedJavadocReference javadocReference) Generates a (deep-)link to a HTML page in any of the sites given to the constructor.static booleanisLinkValid(URI url, Path baseDirectory) Checks if a given link is valid.
-
Constructor Details
-
JavadocLinkGenerator
Constructor for an offline internal site only.- Parameters:
internalJavadocSiteUrl- the url of the javadoc generated websiteinternalJavadocVersion- the version of javadoc with which the internal site frominternalJavadocSiteUrlhas 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 Details
-
createLink
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). Only uses the offline site for references returningfalseforFullyQualifiedJavadocReference.isExternal().- Parameters:
javadocReference-- Returns:
- the (deep-) link towards a javadoc page
- Throws:
IllegalArgumentException- in case no javadoc link could be generated for the given referenceIllegalStateException- in case no javadoc source sites have been configured
-
createLink
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
-
getInternalJavadocSiteBaseUrl
-
isLinkValid
Checks if a given link is valid. For absolute links uses the underlingHttpURLConnection, otherwise checks for existence of the file on the filesystem.- Parameters:
url- the url to checkbaseDirectory- the base directory to which relative file URLs refer- Returns:
truein case the given link is valid otherwisefalse
-