Class DefaultSiteRenderer

java.lang.Object
org.apache.maven.doxia.siterenderer.DefaultSiteRenderer
All Implemented Interfaces:
Renderer, SiteRenderer

@Singleton @Named public class DefaultSiteRenderer extends Object implements Renderer

DefaultSiteRenderer class.

Since:
1.0
Author:
Emmanuel Venisse, Vincent Siveton
  • Constructor Details

    • DefaultSiteRenderer

      public DefaultSiteRenderer()
  • Method Details

    • locateDocumentFiles

      public Map<String,DocumentRenderer> locateDocumentFiles(SiteRenderingContext siteRenderingContext) throws IOException, RendererException
      Locate Doxia document source files in the site source context.
      Specified by:
      locateDocumentFiles in interface SiteRenderer
      Parameters:
      siteRenderingContext - the SiteRenderingContext to use
      Returns:
      the Doxia document renderers in a Map keyed by output file path.
      Throws:
      IOException - if it bombs.
      RendererException - if it bombs.
    • render

      public void render(Collection<DocumentRenderer> documents, SiteRenderingContext siteRenderingContext, File outputDirectory) throws RendererException, IOException
      Render a collection of documents into a site.
      Specified by:
      render in interface SiteRenderer
      Parameters:
      documents - the documents to render.
      siteRenderingContext - the SiteRenderingContext to use.
      outputDirectory - the output directory to write results.
      Throws:
      RendererException - if it bombs.
      IOException - if it bombs.
    • renderDocument

      public void renderDocument(Writer writer, DocumentRenderingContext docRenderingContext, SiteRenderingContext siteContext) throws RendererException
      Render a document written in a Doxia markup language. This method is an internal method, used by DoxiaDocumentRenderer.
      Specified by:
      renderDocument in interface SiteRenderer
      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
      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 in SiteRendererSink during document rendering.
      Parameters:
      content - the document content to be merged into the template
      siteRenderingContext - the site rendering context
      Returns:
      a Velocity tools managed context
    • generateDocument

      public void generateDocument(Writer writer, SiteRendererSink sink, SiteRenderingContext siteRenderingContext) throws RendererException
      Throws:
      RendererException
    • mergeDocumentIntoSite

      public void mergeDocumentIntoSite(Writer writer, DocumentContent content, SiteRenderingContext siteRenderingContext) throws RendererException
      Generate a document output integrated in a site from a document content, i.e. merge the document content into the site template.
      Specified by:
      mergeDocumentIntoSite in interface SiteRenderer
      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, Map<String,?> attributes, org.apache.maven.doxia.site.SiteModel siteModel, String defaultTitle, Locale locale) throws IOException, RendererException
      Create a Site Rendering Context for a site using a skin.
      Specified by:
      createContextForSkin in interface SiteRenderer
      Parameters:
      skin - a skin
      attributes - attributes to use
      siteModel - a site model
      defaultTitle - default title
      locale - locale to use
      Returns:
      a SiteRenderingContext.
      Throws:
      IOException - if it bombs.
      RendererException - if it bombs.
    • copyResources

      public void copyResources(SiteRenderingContext siteRenderingContext, File outputDirectory) throws IOException
      Copy resource files from skin, template, and site resources.
      Specified by:
      copyResources in interface SiteRenderer
      Parameters:
      siteRenderingContext - the SiteRenderingContext to use.
      outputDirectory - output directory as file
      Throws:
      IOException - if it bombs.
    • copyDirectory

      protected void copyDirectory(File source, File destination) throws IOException
      Copy the directory
      Parameters:
      source - source file to be copied
      destination - destination file
      Throws:
      IOException - if any