Class JavadocSite
- java.lang.Object
-
- org.apache.maven.tools.plugin.javadoc.JavadocSite
-
class JavadocSite extends java.lang.ObjectAllows to create links to a site generated by javadoc (incl. deep-linking). The site may be either accessible (online) or non-accessible (offline) when using this class.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.net.URIbaseUri(package private) java.util.Map<java.lang.String,java.lang.String>containedPackageNamesAndModulesstatic intDEFAULT_TIMEOUTThe default timeout used when fetching url, i.e.private static java.lang.StringPREFIX_MODULE(package private) booleanrequireModuleNameInPath(package private) org.apache.maven.settings.Settingssettings(package private) JavadocLinkGenerator.JavadocToolVersionRangeversion(package private) static java.util.EnumMap<FullyQualifiedJavadocReference.MemberType,java.util.EnumSet<JavadocLinkGenerator.JavadocToolVersionRange>>VERSIONS_PER_TYPE
-
Constructor Summary
Constructors Constructor Description JavadocSite(java.net.URI url, org.apache.maven.settings.Settings settings)Constructor for online sites having an accessiblepackage-listorelement-list.JavadocSite(java.net.URI url, JavadocLinkGenerator.JavadocToolVersionRange version, boolean requireModuleNameInPath)Constructor for offline sites.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) java.net.URIappendMemberAsFragment(java.net.URI url, java.util.Optional<java.lang.String> optionalMember, java.util.Optional<FullyQualifiedJavadocReference.MemberType> optionalMemberType)(package private) java.net.URIappendMemberAsFragment(java.net.URI url, FullyQualifiedJavadocReference reference)private static org.apache.http.impl.client.CloseableHttpClientcreateHttpClient(org.apache.maven.settings.Settings settings, java.net.URL url)Creates a newHttpClientinstance.java.net.URIcreateLink(java.lang.String packageName, java.lang.String className)Generates a link to a javadoc html page below the javadoc site represented by this object.(package private) static java.net.URIcreateLink(java.net.URI baseUri, java.util.Optional<java.lang.String> moduleName, java.util.Optional<java.lang.String> packageName, java.util.Optional<java.lang.String> className)java.net.URIcreateLink(FullyQualifiedJavadocReference javadocReference)Generates a link to a javadoc html page below the javadoc site represented by this object.(package private) static java.net.URIcreateLink(FullyQualifiedJavadocReference javadocReference, java.net.URI baseUri, java.util.function.BiFunction<java.net.URI,FullyQualifiedJavadocReference,java.net.URI> fragmentAppender)(package private) static java.net.URIcreateLink(FullyQualifiedJavadocReference javadocReference, java.net.URI baseUri, java.util.function.BiFunction<java.net.URI,FullyQualifiedJavadocReference,java.net.URI> fragmentAppender, java.util.Optional<java.lang.String> pathPrefix)(package private) booleanfindAnchor(java.net.URI uri, java.lang.String anchorNameOrId)(package private) static booleanfindLineContaining(java.net.URI url, org.apache.maven.settings.Settings settings, java.util.regex.Pattern pattern)(package private) static java.util.regex.PatterngetAnchorPattern(java.lang.String anchorNameOrId)java.net.URIgetBaseUri()(package private) static java.lang.StringgetFragmentForMember(JavadocLinkGenerator.JavadocToolVersionRange version, java.lang.String member, boolean isConstructor)canonical format given by member is using parentheses and comma.(package private) static java.util.Map.Entry<java.lang.String,java.lang.String>getPackageAndClassName(java.lang.String binaryName)Splits up a given binary class name into package name and simple class name part.(package private) static java.util.Map<java.lang.String,java.lang.String>getPackageListWithModules(java.net.URI url, org.apache.maven.settings.Settings settings)(package private) static java.io.BufferedReadergetReader(java.net.URL url, org.apache.maven.settings.Settings settings)booleanhasEntryFor(java.util.Optional<java.lang.String> moduleName, java.util.Optional<java.lang.String> packageName)static booleanisNotEmpty(java.util.Collection<?> collection)Convenience method to determine that a collection is not empty or null.
-
-
-
Field Detail
-
PREFIX_MODULE
private static final java.lang.String PREFIX_MODULE
- See Also:
- Constant Field Values
-
baseUri
final java.net.URI baseUri
-
settings
final org.apache.maven.settings.Settings settings
-
containedPackageNamesAndModules
final java.util.Map<java.lang.String,java.lang.String> containedPackageNamesAndModules
-
requireModuleNameInPath
final boolean requireModuleNameInPath
-
VERSIONS_PER_TYPE
static final java.util.EnumMap<FullyQualifiedJavadocReference.MemberType,java.util.EnumSet<JavadocLinkGenerator.JavadocToolVersionRange>> VERSIONS_PER_TYPE
-
version
JavadocLinkGenerator.JavadocToolVersionRange version
-
DEFAULT_TIMEOUT
public static final int DEFAULT_TIMEOUT
The default timeout used when fetching url, i.e. 2000.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
JavadocSite
JavadocSite(java.net.URI url, org.apache.maven.settings.Settings settings) throws java.io.IOExceptionConstructor for online sites having an accessiblepackage-listorelement-list.- Parameters:
url-settings-- Throws:
java.io.IOException
-
JavadocSite
JavadocSite(java.net.URI url, JavadocLinkGenerator.JavadocToolVersionRange version, boolean requireModuleNameInPath)Constructor for offline sites. This throwsUnsupportedOperationExceptionforhasEntryFor(Optional, Optional).
-
-
Method Detail
-
getPackageListWithModules
static java.util.Map<java.lang.String,java.lang.String> getPackageListWithModules(java.net.URI url, org.apache.maven.settings.Settings settings) throws java.io.IOException- Throws:
java.io.IOException
-
findLineContaining
static boolean findLineContaining(java.net.URI url, org.apache.maven.settings.Settings settings, java.util.regex.Pattern pattern) throws java.io.IOException- Throws:
java.io.IOException
-
getBaseUri
public java.net.URI getBaseUri()
-
hasEntryFor
public boolean hasEntryFor(java.util.Optional<java.lang.String> moduleName, java.util.Optional<java.lang.String> packageName)
-
createLink
public java.net.URI createLink(java.lang.String packageName, java.lang.String className)Generates a link to a javadoc html page below the javadoc site represented by this object. The link is not validated (i.e. might point to a non-existing page)- Returns:
- the (deep-)link towards a javadoc page
- Throws:
java.lang.IllegalArgumentException- if no link can be created
-
getPackageAndClassName
static java.util.Map.Entry<java.lang.String,java.lang.String> getPackageAndClassName(java.lang.String binaryName)
Splits up a given binary class name into package name and simple class name part.- Parameters:
binaryName- a binary name according to JLS 13.1- Returns:
- a key value pair where the key is the package name and the value the class name
- Throws:
java.lang.IllegalArgumentException- if no link can be created
-
createLink
public java.net.URI createLink(FullyQualifiedJavadocReference javadocReference) throws java.lang.IllegalArgumentException
Generates a link to a javadoc html page below the javadoc site represented by this object. The link is not validated (i.e. might point to a non-existing page)- Parameters:
javadocReference- a code reference from a javadoc tag- Returns:
- the (deep-)link towards a javadoc page
- Throws:
java.lang.IllegalArgumentException- if no link can be created
-
createLink
static java.net.URI createLink(FullyQualifiedJavadocReference javadocReference, java.net.URI baseUri, java.util.function.BiFunction<java.net.URI,FullyQualifiedJavadocReference,java.net.URI> fragmentAppender)
-
createLink
static java.net.URI createLink(FullyQualifiedJavadocReference javadocReference, java.net.URI baseUri, java.util.function.BiFunction<java.net.URI,FullyQualifiedJavadocReference,java.net.URI> fragmentAppender, java.util.Optional<java.lang.String> pathPrefix) throws java.lang.IllegalArgumentException
- Throws:
java.lang.IllegalArgumentException
-
createLink
static java.net.URI createLink(java.net.URI baseUri, java.util.Optional<java.lang.String> moduleName, java.util.Optional<java.lang.String> packageName, java.util.Optional<java.lang.String> className) throws java.net.URISyntaxException- Throws:
java.net.URISyntaxException
-
appendMemberAsFragment
java.net.URI appendMemberAsFragment(java.net.URI url, FullyQualifiedJavadocReference reference)
-
appendMemberAsFragment
java.net.URI appendMemberAsFragment(java.net.URI url, java.util.Optional<java.lang.String> optionalMember, java.util.Optional<FullyQualifiedJavadocReference.MemberType> optionalMemberType) throws java.net.URISyntaxException, java.io.IOException- Parameters:
url-optionalMember-optionalMemberType-- Returns:
- Throws:
java.net.URISyntaxExceptionjava.io.IOException- See Also:
- Name generation in Javadoc8, Javadoc Tools Source since JDK10, Javadoc Tools Source JDK9, Javadoc Tools Source JDK8
-
getFragmentForMember
static java.lang.String getFragmentForMember(JavadocLinkGenerator.JavadocToolVersionRange version, java.lang.String member, boolean isConstructor)
canonical format given by member is using parentheses and comma.- Parameters:
version-member-isConstructor-- Returns:
- the anchor
-
findAnchor
boolean findAnchor(java.net.URI uri, java.lang.String anchorNameOrId) throws java.net.MalformedURLException, java.io.IOException- Throws:
java.net.MalformedURLExceptionjava.io.IOException
-
getAnchorPattern
static java.util.regex.Pattern getAnchorPattern(java.lang.String anchorNameOrId)
-
createHttpClient
private static org.apache.http.impl.client.CloseableHttpClient createHttpClient(org.apache.maven.settings.Settings settings, java.net.URL url)Creates a newHttpClientinstance.- Parameters:
settings- The settings to use for setting up the client ornull.url- TheURLto use for setting up the client ornull.- Returns:
- A new
HttpClientinstance. - Since:
- 2.8
- See Also:
DEFAULT_TIMEOUT
-
getReader
static java.io.BufferedReader getReader(java.net.URL url, org.apache.maven.settings.Settings settings) throws java.io.IOException- Throws:
java.io.IOException
-
isNotEmpty
public static boolean isNotEmpty(java.util.Collection<?> collection)
Convenience method to determine that a collection is not empty or null.- Parameters:
collection- the collection to verify- Returns:
trueif notnulland not empty, otherwisefalse
-
-