org.apache.maven.reporting

## 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().

Since:
  2.0
Version:
  $Id: AbstractMavenReportRenderer.java 1781702 2017-02-04 20:15:14Z michaelo $
Author:
  Jason van Zyl, Emmanuel Venisse, Vincent Siveton
See Also:
  `getTitle()`, `renderBody()`

### Field Summary

Fields
`protected org.apache.maven.doxia.sink.Sink` `sink` The current sink to use

### Constructor Summary

Constructors
Constructor and Description
`AbstractMavenReportRenderer(org.apache.maven.doxia.sink.Sink sink)` Default constructor.

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`protected static String` `createLinkPatternedText(String text, String href)` Create a link pattern text defined by `{text, url}`.
`protected void` `endSection()` Convenience method to wrap section ending in the current sink.
`protected void` `endTable()` Convenience method to wrap the table ending in the current sink.
`abstract String` `getTitle()`
`protected void` `javaScript(String jsCode)` 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` `linkPatternedText(String text)` 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` `propertiesToString(Properties props)` Convenience method to display a `Properties` object as comma separated String.
`void` `render()`
`protected abstract void` `renderBody()` Renderer the body content of the report.
`protected void` `startSection(String name)` Convenience method to wrap section creation in the current sink.
`protected void` `startTable()` 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` `tableCaption(String caption)` Convenience method to wrap a table caption in the current sink.
`protected void` `tableCell(String text)` 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` `tableHeaderCell(String text)` 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` `verbatimText(String text)` 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 Detail

#### sink

    protected org.apache.maven.doxia.sink.Sink sink

The current sink to use

### Constructor Detail

#### AbstractMavenReportRenderer

    public AbstractMavenReportRenderer(org.apache.maven.doxia.sink.Sink sink)

Default constructor.

Parameters:
  `sink` - the sink to use.

### Method Detail

#### 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.

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:
  `linkPatternedText(String)`, `tableCell(String)`

#### 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:
  `linkPatternedText(String)`, `Sink.tableCell()`, `Sink.tableCell_()`, `Sink.rawText(String)`

#### 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:
  `tableCell(String)`, `Sink.tableRow()`, `Sink.tableRow_()`

#### 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:
  `tableHeaderCell(String)`, `Sink.tableRow()`, `Sink.tableRow_()`

#### 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:
  `text(String)`, `Sink.tableCaption()`, `Sink.tableCaption_()`

#### 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:
  `text(String)`, `Sink.paragraph()`, `Sink.paragraph_()`

#### 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(String)`, `Sink.link(String)`, `Sink.link_()`

#### 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:
  `text(String)`, `Sink.verbatim(boolean)`, `Sink.verbatim_()`

#### 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:
  `link(String, String)`, `verbatimText(String)`, `Sink.verbatim(boolean)`, `Sink.verbatim_()`

#### 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:
  `text(String)`, `link(String, String)`, `applyPattern(String)`

#### 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:
  `linkPatternedText(String)`

#### 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.