Class AbstractMavenReportRenderer

java.lang.Object
org.apache.maven.reporting.AbstractMavenReportRenderer
All Implemented Interfaces:
org.apache.maven.reporting.MavenReportRenderer

public abstract class AbstractMavenReportRenderer extends Object implements org.apache.maven.reporting.MavenReportRenderer

An abstract class to manage report generation, with many helper methods to ease the job: you just need to implement getTitle() and renderBody().

TODO Later it may be appropriate to create something like a VelocityMavenReportRenderer that could take a velocity template and pipe that through Doxia rather than coding them up like this.

Since:
2.0
Author:
Jason van Zyl, Emmanuel Venisse, Vincent Siveton
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.apache.maven.doxia.sink.Sink
    The current sink to use
  • Constructor Summary

    Constructors
    Constructor
    Description
    AbstractMavenReportRenderer(org.apache.maven.doxia.sink.Sink sink)
    Default constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected static String
    Create a link pattern text defined by {text, url}.
    protected void
    Convenience method to wrap section ending in the current sink.
    protected void
    Convenience method to wrap the table ending in the current sink.
    abstract String
     
    protected void
    Convenience method to add a Javascript code in the current sink.
    protected void
    link(String href, String name)
    Convenience method to wrap a link in the current sink.
    void
    Convenience method to wrap a patterned text in the current link.
    protected void
    paragraph(String paragraph)
    Convenience method to wrap a paragraph in the current sink.
    protected static String
    Convenience method to display a Properties object as comma separated String.
    void
    protected abstract void
    Renderer the body content of the report.
    protected void
    Convenience method to wrap section creation in the current sink.
    protected void
    Convenience method to wrap the table start in the current sink.
    protected void
    startTable(int[] justification, boolean grid)
    Convenience method to wrap the table start in the current sink.
    protected void
    Convenience method to wrap a table caption in the current sink.
    protected void
    Convenience method to wrap a table cell start in the current sink.
    protected void
    tableCell(String text, boolean asHtml)
    Convenience method to wrap a table cell start in the current sink.
    protected void
    tableHeader(String[] content)
    Convenience method to wrap a table header row start in the current sink.
    protected void
    Convenience method to wrap the table header cell start in the current sink.
    protected void
    tableRow(String[] content)
    Convenience method to wrap a table row start in the current sink.
    protected void
    text(String text)
    Convenience method to wrap a text in the current sink.
    protected void
    verbatimLink(String text, String href)
    Convenience method to wrap a text with a given link href as verbatim style in the current sink.
    protected void
    Convenience method to wrap a text as verbatim style in the current sink .

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • sink

      protected org.apache.maven.doxia.sink.Sink sink
      The current sink to use
  • Constructor Details

    • AbstractMavenReportRenderer

      public AbstractMavenReportRenderer(org.apache.maven.doxia.sink.Sink sink)
      Default constructor.
      Parameters:
      sink - the sink to use.
  • Method Details

    • render

      public void render()
      Specified by:
      render in interface org.apache.maven.reporting.MavenReportRenderer
    • startSection

      protected void startSection(String name)
      Convenience method to wrap section creation in the current sink. An anchor will be add for the name.
      Parameters:
      name - the name of this section, could be null.
      See Also:
      • text(String)
      • Sink.section1()
      • Sink.sectionTitle1()
      • Sink.sectionTitle1_()
      • Sink.section2()
      • Sink.sectionTitle2()
      • Sink.sectionTitle2_()
      • Sink.section3()
      • Sink.sectionTitle3()
      • Sink.sectionTitle3_()
      • Sink.section4()
      • Sink.sectionTitle4()
      • Sink.sectionTitle4_()
      • Sink.section5()
      • Sink.sectionTitle5()
      • Sink.sectionTitle5_()
    • endSection

      protected void endSection()
      Convenience method to wrap section ending in the current sink.
      Throws:
      IllegalStateException - if too many closing sections.
      See Also:
      • Sink.section1_()
      • Sink.section2_()
      • Sink.section3_()
      • Sink.section4_()
      • Sink.section5_()
    • startTable

      protected void startTable()
      Convenience method to wrap the table start in the current sink.
      See Also:
      • Sink.table()
    • startTable

      protected void startTable(int[] justification, boolean grid)
      Convenience method to wrap the table start in the current sink.
      Parameters:
      justification - the justification of table cells.
      grid - whether to draw a grid around cells.
      Since:
      2.1
      See Also:
      • Sink.table()
      • Sink.tableRows(int[],boolean)
    • endTable

      protected void endTable()
      Convenience method to wrap the table ending in the current sink.
      See Also:
      • Sink.table_()
    • tableHeaderCell

      protected void tableHeaderCell(String text)
      Convenience method to wrap the table header cell start in the current sink.
      Parameters:
      text - the text to put in this cell, could be null.
      See Also:
      • text(String)
      • Sink.tableHeaderCell()
      • Sink.tableHeaderCell_()
    • tableCell

      protected void tableCell(String text)
      Convenience method to wrap a table cell start in the current sink.

      The text could be a link patterned text defined by {text, url}

      Parameters:
      text - the text to put in this cell, could be null.
      See Also:
    • tableCell

      protected void tableCell(String text, boolean asHtml)
      Convenience method to wrap a table cell start in the current sink.

      The text could be a link patterned text defined by {text, url}

      If asHtml is true, add the text as Html

      Parameters:
      text - the text to put in this cell, could be null.
      asHtml - true to add the text as Html, false otherwise.
      See Also:
    • tableRow

      protected void tableRow(String[] content)
      Convenience method to wrap a table row start in the current sink.

      The texts in the content could be link patterned texts defined by {text, url}

      Parameters:
      content - an array of text to put in the cells in this row, could be null.
      See Also:
    • tableHeader

      protected void tableHeader(String[] content)
      Convenience method to wrap a table header row start in the current sink.
      Parameters:
      content - an array of text to put in the cells in this row header, could be null.
      See Also:
    • tableCaption

      protected void tableCaption(String caption)
      Convenience method to wrap a table caption in the current sink.
      Parameters:
      caption - the caption of the table, could be null.
      See Also:
    • paragraph

      protected void paragraph(String paragraph)
      Convenience method to wrap a paragraph in the current sink.
      Parameters:
      paragraph - the paragraph to add, could be null.
      See Also:
    • link

      protected void link(String href, String name)
      Convenience method to wrap a link in the current sink.
      Parameters:
      href - the link to add, cannot be null.
      name - the link name.
      See Also:
    • text

      protected void text(String text)
      Convenience method to wrap a text in the current sink.

      If text is empty or has a null value, add the "-" charater

      Parameters:
      text - a text, could be null.
      See Also:
      • Sink.text(String)
    • verbatimText

      protected void verbatimText(String text)
      Convenience method to wrap a text as verbatim style in the current sink .
      Parameters:
      text - a text, could be null.
      See Also:
    • verbatimLink

      protected void verbatimLink(String text, String href)
      Convenience method to wrap a text with a given link href as verbatim style in the current sink.
      Parameters:
      text - a string
      href - an href could be null
      See Also:
    • javaScript

      protected void javaScript(String jsCode)
      Convenience method to add a Javascript code in the current sink.
      Parameters:
      jsCode - a string of Javascript
      See Also:
      • Sink.rawText(String)
    • linkPatternedText

      public void linkPatternedText(String text)
      Convenience method to wrap a patterned text in the current link.

      The text variable should contained this given pattern {text, url} to handle the link creation.

      Parameters:
      text - a text with link pattern defined.
      See Also:
    • createLinkPatternedText

      protected static String createLinkPatternedText(String text, String href)
      Create a link pattern text defined by {text, url}.

      This created pattern could be used by the method linkPatternedText(String) to handle a text with link.

      Parameters:
      text -
      href -
      Returns:
      a link pattern
      See Also:
    • propertiesToString

      protected static String propertiesToString(Properties props)
      Convenience method to display a Properties object as comma separated String.
      Parameters:
      props - the properties to display.
      Returns:
      the properties object as comma separated String
    • getTitle

      public abstract String getTitle()
      Specified by:
      getTitle in interface org.apache.maven.reporting.MavenReportRenderer
    • renderBody

      protected abstract void renderBody()
      Renderer the body content of the report.