Class DefaultSiteRenderer
- java.lang.Object
-
- org.apache.maven.doxia.siterenderer.DefaultSiteRenderer
-
- All Implemented Interfaces:
Renderer,SiteRenderer
@Singleton @Named public class DefaultSiteRenderer extends java.lang.Object implements Renderer
DefaultSiteRenderer class.
- Since:
- 1.0
- Author:
- Emmanuel Venisse, Vincent Siveton
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringMERMAID_VERSION
-
Constructor Summary
Constructors Constructor Description DefaultSiteRenderer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcopyDirectory(java.io.File source, java.io.File destination)Copy the directoryvoidcopyResources(SiteRenderingContext siteRenderingContext, java.io.File outputDirectory)Copy resource files from skin, template, and site resources.SiteRenderingContextcreateContextForSkin(org.apache.maven.artifact.Artifact skin, java.util.Map<java.lang.String,?> attributes, org.apache.maven.doxia.site.SiteModel siteModel, java.lang.String defaultTitle, java.util.Locale locale)Create a Site Rendering Context for a site using a skin.protected org.apache.velocity.context.ContextcreateDocumentVelocityContext(DocumentRenderingContext docRenderingContext, SiteRenderingContext siteRenderingContext)Create a Velocity Context for a Doxia document, containing every information about rendered document.protected org.apache.velocity.context.ContextcreateSiteTemplateVelocityContext(DocumentContent content, SiteRenderingContext siteRenderingContext)Create a Velocity Context for the site template decorating the document.protected org.apache.velocity.context.ContextcreateToolManagedVelocityContext(SiteRenderingContext siteRenderingContext)Creates a Velocity Context with all generic tools configured wit the site rendering context.voidgenerateDocument(java.io.Writer writer, SiteRendererSink sink, SiteRenderingContext siteRenderingContext)java.util.Map<java.lang.String,DocumentRenderer>locateDocumentFiles(SiteRenderingContext siteRenderingContext)Locate Doxia document source files in the site source context.voidmergeDocumentIntoSite(java.io.Writer writer, DocumentContent content, SiteRenderingContext siteRenderingContext)Generate a document output integrated in a site from a document content, i.e.voidrender(java.util.Collection<DocumentRenderer> documents, SiteRenderingContext siteRenderingContext, java.io.File outputDirectory)Render a collection of documents into a site.voidrenderDocument(java.io.Writer writer, DocumentRenderingContext docRenderingContext, SiteRenderingContext siteContext)Render a document written in a Doxia markup language.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.maven.doxia.siterenderer.SiteRenderer
locateDocumentFiles
-
-
-
-
Method Detail
-
locateDocumentFiles
public java.util.Map<java.lang.String,DocumentRenderer> locateDocumentFiles(SiteRenderingContext siteRenderingContext) throws java.io.IOException, RendererException
Locate Doxia document source files in the site source context.- Specified by:
locateDocumentFilesin interfaceSiteRenderer- Parameters:
siteRenderingContext- the SiteRenderingContext to use- Returns:
- the Doxia document renderers in a Map keyed by output file path.
- Throws:
java.io.IOException- if it bombs.RendererException- if it bombs.
-
render
public void render(java.util.Collection<DocumentRenderer> documents, SiteRenderingContext siteRenderingContext, java.io.File outputDirectory) throws RendererException, java.io.IOException
Render a collection of documents into a site.- Specified by:
renderin interfaceSiteRenderer- Parameters:
documents- the documents to render.siteRenderingContext- the SiteRenderingContext to use.outputDirectory- the output directory to write results.- Throws:
RendererException- if it bombs.java.io.IOException- if it bombs.
-
renderDocument
public void renderDocument(java.io.Writer writer, DocumentRenderingContext docRenderingContext, SiteRenderingContext siteContext) throws RendererExceptionRender a document written in a Doxia markup language. This method is an internal method, used byDoxiaDocumentRenderer.- Specified by:
renderDocumentin interfaceSiteRenderer- Parameters:
writer- the writer to render the document to.docRenderingContext- the document's rendering context, which is expected to have a non-null parser id.siteContext- the site's rendering context- Throws:
RendererException- if it bombs.
-
createToolManagedVelocityContext
protected org.apache.velocity.context.Context createToolManagedVelocityContext(SiteRenderingContext siteRenderingContext)
Creates a Velocity Context with all generic tools configured wit the site rendering context.- Parameters:
siteRenderingContext- the site rendering context- Returns:
- a Velocity tools managed context
-
createDocumentVelocityContext
protected org.apache.velocity.context.Context createDocumentVelocityContext(DocumentRenderingContext docRenderingContext, SiteRenderingContext siteRenderingContext)
Create a Velocity Context for a Doxia document, containing every information about rendered document.- Parameters:
docRenderingContext- the document's rendering context (may benullin which case the context does not contain document-specific information)siteRenderingContext- the site rendering context- Returns:
- a Velocity tools managed context
-
createSiteTemplateVelocityContext
protected org.apache.velocity.context.Context createSiteTemplateVelocityContext(DocumentContent content, SiteRenderingContext siteRenderingContext)
Create a Velocity Context for the site template decorating the document. In addition to all the informations from the document, this context contains data gathered inSiteRendererSinkduring document rendering.- Parameters:
content- the document content to be merged into the templatesiteRenderingContext- the site rendering context- Returns:
- a Velocity tools managed context
-
generateDocument
public void generateDocument(java.io.Writer writer, SiteRendererSink sink, SiteRenderingContext siteRenderingContext) throws RendererException- Throws:
RendererException
-
mergeDocumentIntoSite
public void mergeDocumentIntoSite(java.io.Writer writer, DocumentContent content, SiteRenderingContext siteRenderingContext) throws RendererExceptionGenerate a document output integrated in a site from a document content, i.e. merge the document content into the site template.- Specified by:
mergeDocumentIntoSitein interfaceSiteRenderer- Parameters:
writer- the Writer to use.content- the document content to be merged.siteRenderingContext- the SiteRenderingContext to use.- Throws:
RendererException- if it bombs.
-
createContextForSkin
public SiteRenderingContext createContextForSkin(org.apache.maven.artifact.Artifact skin, java.util.Map<java.lang.String,?> attributes, org.apache.maven.doxia.site.SiteModel siteModel, java.lang.String defaultTitle, java.util.Locale locale) throws java.io.IOException, RendererException
Create a Site Rendering Context for a site using a skin.- Specified by:
createContextForSkinin interfaceSiteRenderer- Parameters:
skin- a skinattributes- attributes to usesiteModel- a site modeldefaultTitle- default titlelocale- locale to use- Returns:
- a SiteRenderingContext.
- Throws:
java.io.IOException- if it bombs.RendererException- if it bombs.
-
copyResources
public void copyResources(SiteRenderingContext siteRenderingContext, java.io.File outputDirectory) throws java.io.IOException
Copy resource files from skin, template, and site resources.- Specified by:
copyResourcesin interfaceSiteRenderer- Parameters:
siteRenderingContext- the SiteRenderingContext to use.outputDirectory- output directory as file- Throws:
java.io.IOException- if it bombs.
-
copyDirectory
protected void copyDirectory(java.io.File source, java.io.File destination) throws java.io.IOExceptionCopy the directory- Parameters:
source- source file to be copieddestination- destination file- Throws:
java.io.IOException- if any
-
-