org.apache.maven.doxia.tools
Interface SiteTool

All Known Implementing Classes:
DefaultSiteTool

public interface SiteTool

Tool to play with Doxia objects like DecorationModel.

Version:
$Id: SiteTool.java 664310 2008-06-07 10:30:12Z bentmann $
Author:
Vincent Siveton

Field Summary
static java.util.Locale DEFAULT_LOCALE
          The locale by default for all default bundles
static java.lang.String ROLE
          Plexus Role
 
Method Summary
 java.util.Locale codeToLocale(java.lang.String localeCode)
          Converts a locale code like "en", "en_US" or "en_US_win" to a java.util.Locale object.
 java.util.List getAvailableLocales(java.lang.String locales)
          Init the localesList variable.
 org.apache.maven.doxia.site.decoration.DecorationModel getDecorationModel(org.apache.maven.project.MavenProject project, java.util.List reactorProjects, org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List repositories, java.lang.String siteDirectory, java.util.Locale locale, java.lang.String inputEncoding, java.lang.String outputEncoding)
          Get a decoration model for a project.
 org.apache.maven.artifact.Artifact getDefaultSkinArtifact(org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List remoteArtifactRepositories)
          Get the default skin artifact for a project from one of the repositories.
 java.lang.String getInterpolatedSiteDescriptorContent(java.util.Map props, org.apache.maven.project.MavenProject aProject, java.lang.String siteDescriptorContent, java.lang.String inputEncoding, java.lang.String outputEncoding)
          Interpolating several expressions in the site descriptor content.
 org.apache.maven.project.MavenProject getParentProject(org.apache.maven.project.MavenProject aProject, java.util.List reactorProjects, org.apache.maven.artifact.repository.ArtifactRepository localRepository)
          Returns the parent POM with interpolated URLs.
 java.lang.String getRelativePath(java.lang.String to, java.lang.String from)
          Calculate the relative path between two URLs or between two files.
 java.io.File getSiteDescriptorFromBasedir(java.lang.String siteDirectory, java.io.File basedir, java.util.Locale locale)
          Get a site descriptor from the project's base direcory.
 java.io.File getSiteDescriptorFromRepository(org.apache.maven.project.MavenProject project, org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List repositories, java.util.Locale locale)
          Get a site descriptor from one of the repositories.
 org.apache.maven.artifact.Artifact getSkinArtifactFromRepository(org.apache.maven.artifact.repository.ArtifactRepository localRepository, java.util.List remoteArtifactRepositories, org.apache.maven.doxia.site.decoration.DecorationModel decoration)
          Get a site descriptor defined in the decoration from one of the repositories.
 void populateModules(org.apache.maven.project.MavenProject project, java.util.List reactorProjects, org.apache.maven.artifact.repository.ArtifactRepository localRepository, org.apache.maven.doxia.site.decoration.DecorationModel decorationModel, java.util.Locale locale, boolean keepInheritedRefs)
          Populate the modules menu part of the decoration model.
 void populateProjectParentMenu(org.apache.maven.doxia.site.decoration.DecorationModel decorationModel, java.util.Locale locale, org.apache.maven.project.MavenProject project, org.apache.maven.project.MavenProject parentProject, boolean keepInheritedRefs)
          Populate the parent menu part of the decoration model.
 void populateReportsMenu(org.apache.maven.doxia.site.decoration.DecorationModel decorationModel, java.util.Locale locale, java.util.Map categories)
          Populate the report menu part of the decoration model.
 

Field Detail

ROLE

static final java.lang.String ROLE
Plexus Role


DEFAULT_LOCALE

static final java.util.Locale DEFAULT_LOCALE
The locale by default for all default bundles

See Also:
Locale.ENGLISH
Method Detail

getSkinArtifactFromRepository

org.apache.maven.artifact.Artifact getSkinArtifactFromRepository(org.apache.maven.artifact.repository.ArtifactRepository localRepository,
                                                                 java.util.List remoteArtifactRepositories,
                                                                 org.apache.maven.doxia.site.decoration.DecorationModel decoration)
                                                                 throws SiteToolException
Get a site descriptor defined in the decoration from one of the repositories.

Parameters:
localRepository - the Maven local repository, not null.
remoteArtifactRepositories - the Maven remote repositories, not null.
decoration - the Doxia site descriptor model, not null.
Returns:
the Skin artifact defined in a DecorationModel from a given project and a local repository
Throws:
SiteToolException - if any

getDefaultSkinArtifact

org.apache.maven.artifact.Artifact getDefaultSkinArtifact(org.apache.maven.artifact.repository.ArtifactRepository localRepository,
                                                          java.util.List remoteArtifactRepositories)
                                                          throws SiteToolException
Get the default skin artifact for a project from one of the repositories.

Parameters:
localRepository - the Maven local repository, not null.
remoteArtifactRepositories - the Maven remote repositories, not null.
Returns:
the default Skin artifact from a given project and a local repository
Throws:
SiteToolException - if any
See Also:
Skin.getDefaultSkin(), getSkinArtifactFromRepository(ArtifactRepository, List, DecorationModel)

getRelativePath

java.lang.String getRelativePath(java.lang.String to,
                                 java.lang.String from)
Calculate the relative path between two URLs or between two files. For example:
to = "http://maven.apache.org" and from = "http://maven.apache.org"
return ""
to = "http://maven.apache.org" and from = "http://maven.apache.org/plugins/maven-site-plugin/"
return "../.."
to = "http://maven.apache.org/plugins/maven-site-plugin/" and from = "http://maven.apache.org"
return "plugins/maven-site-plugin"
to = "/myproject/myproject-module1" and from = "/myproject/myproject"
return "../myproject-module1"
Note: The file separator depends on the system.

Parameters:
to - the to url of file as string
from - the from url of file as string
Returns:
a relative path from from to to.

getSiteDescriptorFromBasedir

java.io.File getSiteDescriptorFromBasedir(java.lang.String siteDirectory,
                                          java.io.File basedir,
                                          java.util.Locale locale)
Get a site descriptor from the project's base direcory.

Parameters:
siteDirectory - The path to the directory containing the site.xml file, relative to the project base directory. If null, using by default "src/site".
basedir - not null.
locale - the locale wanted for the site descriptor. If not null, searching for site_localeLanguage.xml, otherwise searching for site.xml.
Returns:
the site descriptor relative file, i.e. src/site/site.xml, depending on parameter values.

getSiteDescriptorFromRepository

java.io.File getSiteDescriptorFromRepository(org.apache.maven.project.MavenProject project,
                                             org.apache.maven.artifact.repository.ArtifactRepository localRepository,
                                             java.util.List repositories,
                                             java.util.Locale locale)
                                             throws SiteToolException
Get a site descriptor from one of the repositories.

Parameters:
project - the Maven project, not null.
localRepository - the Maven local repository, not null.
repositories - the Maven remote repositories, not null.
locale - the locale wanted for the site descriptor. If not null, searching for site_localeLanguage.xml, otherwise searching for site.xml.
Returns:
the site descriptor into the local repository after download of it from repositories or null if not found in repositories.
Throws:
SiteToolException - if any

getDecorationModel

org.apache.maven.doxia.site.decoration.DecorationModel getDecorationModel(org.apache.maven.project.MavenProject project,
                                                                          java.util.List reactorProjects,
                                                                          org.apache.maven.artifact.repository.ArtifactRepository localRepository,
                                                                          java.util.List repositories,
                                                                          java.lang.String siteDirectory,
                                                                          java.util.Locale locale,
                                                                          java.lang.String inputEncoding,
                                                                          java.lang.String outputEncoding)
                                                                          throws SiteToolException
Get a decoration model for a project.

Parameters:
project - the Maven project, not null.
reactorProjects - the Maven reactor projects, not null.
localRepository - the Maven local repository, not null.
repositories - the Maven remote repositories, not null.
siteDirectory - The path to the directory containing the site.xml file, relative to the project base directory. If null, using by default "src/site".
locale - the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.
inputEncoding - the input encoding of the site descriptor, not null.
outputEncoding - the output encoding wanted, not null.
Returns:
the DecorationModel object corresponding to the site.xml file with some interpolations.
Throws:
SiteToolException - if any

populateReportsMenu

void populateReportsMenu(org.apache.maven.doxia.site.decoration.DecorationModel decorationModel,
                         java.util.Locale locale,
                         java.util.Map categories)
Populate the report menu part of the decoration model.

Parameters:
decorationModel - the Doxia DecorationModel, not null.
locale - the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.
categories - a map to put on the decoration model, not null.

getInterpolatedSiteDescriptorContent

java.lang.String getInterpolatedSiteDescriptorContent(java.util.Map props,
                                                      org.apache.maven.project.MavenProject aProject,
                                                      java.lang.String siteDescriptorContent,
                                                      java.lang.String inputEncoding,
                                                      java.lang.String outputEncoding)
                                                      throws SiteToolException
Interpolating several expressions in the site descriptor content. Actually, the expressions could be in the project, the environment variables and the specific properties like encoding.

For instance:

${project.name}
The value from the POM of:

<project>
  <name>myProjectName</name>
</project>

${my.value}
The value from the POM of:

<properties>
  <my.value>hello</my.value>
</properties>

${JAVA_HOME}
The value of JAVA_HOME in the environment variables

Parameters:
props - a map used for interpolation, not null.
aProject - a Maven project, not null.
inputEncoding - the input encoding of the site descriptor, not null.
outputEncoding - the output encoding wanted, not null.
siteDescriptorContent - the site descriptor file, not null.
Returns:
the site descriptor content based on the site.xml file with interpolated strings.
Throws:
SiteToolException - if errors happened during the interpolation.

getParentProject

org.apache.maven.project.MavenProject getParentProject(org.apache.maven.project.MavenProject aProject,
                                                       java.util.List reactorProjects,
                                                       org.apache.maven.artifact.repository.ArtifactRepository localRepository)
Returns the parent POM with interpolated URLs. Attempts to source this value from the reactorProjects parameters if available (reactor env model attributes are interpolated), or if the reactor is unavailable (-N) resorts to the project.getParent().getUrl() value which will NOT have been interpolated.

TODO: once bug is fixed in Maven proper, remove this.

Parameters:
aProject - a Maven project, not null.
reactorProjects - the Maven reactor projects, not null.
localRepository - the Maven local repository, not null.
Returns:
the parent project with interpolated URLs.

populateProjectParentMenu

void populateProjectParentMenu(org.apache.maven.doxia.site.decoration.DecorationModel decorationModel,
                               java.util.Locale locale,
                               org.apache.maven.project.MavenProject project,
                               org.apache.maven.project.MavenProject parentProject,
                               boolean keepInheritedRefs)
Populate the parent menu part of the decoration model.

Parameters:
decorationModel - the Doxia DecorationModel, not null.
locale - the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.
project - a Maven project, not null.
parentProject - a Maven parent project, not null.
keepInheritedRefs - used for inherited references.

populateModules

void populateModules(org.apache.maven.project.MavenProject project,
                     java.util.List reactorProjects,
                     org.apache.maven.artifact.repository.ArtifactRepository localRepository,
                     org.apache.maven.doxia.site.decoration.DecorationModel decorationModel,
                     java.util.Locale locale,
                     boolean keepInheritedRefs)
                     throws SiteToolException
Populate the modules menu part of the decoration model.

Parameters:
project - a Maven project, not null.
reactorProjects - the Maven reactor projects, not null.
localRepository - the Maven local repository, not null.
decorationModel - the Doxia site descriptor model, not null.
locale - the locale used for the i18n in DecorationModel. If null, using the default locale in the jvm.
keepInheritedRefs - used for inherited references.
Throws:
SiteToolException - if any

getAvailableLocales

java.util.List getAvailableLocales(java.lang.String locales)
Init the localesList variable.

If the locales variable is available, the first valid token will be the defaultLocale for this instance of the Java Virtual Machine.

Parameters:
locales - A comma separated list of locales supported by Maven. The first valid token will be the default Locale for this instance of the Java Virtual Machine.
Returns:
a list of Locale

codeToLocale

java.util.Locale codeToLocale(java.lang.String localeCode)
Converts a locale code like "en", "en_US" or "en_US_win" to a java.util.Locale object.

If localeCode = default, return the current value of the default locale for this instance of the Java Virtual Machine.

Parameters:
localeCode - the locale code string.
Returns:
a java.util.Locale object instancied or null if errors occurred
See Also:
java.util.Locale#getDefault()


Copyright © 2002-2011 Apache Software Foundation. All Rights Reserved.