org.apache.maven.reporting

## Class AbstractMavenReport

- java.lang.Object
- - org.apache.maven.plugin.AbstractMojo
  - - org.apache.maven.reporting.AbstractMavenReport

- All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo, MavenMultiPageReport, org.apache.maven.reporting.MavenReport

      public abstract class AbstractMavenReport
      extends org.apache.maven.plugin.AbstractMojo
      implements MavenMultiPageReport

  The basis for a Maven report which can be generated both as part of a site generation or as a direct standalone goal invocation. Both invocations are delegated to `abstract executeReport( Locale )` from:
  - Mojo's `execute()` method, see maven-plugin-api
  - MavenMultiPageReport's `generate( Sink, SinkFactory, Locale )`, see maven-reporting-api
  Since:
    2.0
  Version:
    $Id: AbstractMavenReport.java 1624794 2014-09-14 00:30:58Z hboutemy $
  Author:
    Emmanuel Venisse
  See Also:
    ``Mojo.execute()`, from maven-plugin-api`, ``MavenMultiPageReport.generate( Sink, SinkFactory, Locale )`, from maven-reporting-api`, ``abstract executeReport( Locale )``

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected File` | `outputDirectory` The output directory for the report.
    `protected org.apache.maven.project.MavenProject` | `project` The Maven Project.
    `protected org.apache.maven.doxia.siterenderer.Renderer` | `siteRenderer` Doxia Site Renderer component.

    - ### Fields inherited from interface org.apache.maven.reporting.MavenReport

      `CATEGORY_PROJECT_INFORMATION, CATEGORY_PROJECT_REPORTS, ROLE`

    - ### Fields inherited from interface org.apache.maven.plugin.Mojo

      `ROLE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractMavenReport()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `canGenerateReport()`
    `protected void` | `closeReport()` Actions when closing the report.
    `void` | `execute()` This method is called when the report generation is invoked directly as a standalone Mojo.
    `protected abstract void` | `executeReport(Locale locale)` Execute the generation of the report.
    `void` | `generate(org.codehaus.doxia.sink.Sink aSink, Locale aLocale)` Deprecated. use `generate(Sink, SinkFactory, Locale)` instead.
    `void` | `generate(org.apache.maven.doxia.sink.Sink aSink, Locale aLocale)` Deprecated. use `generate(Sink, SinkFactory, Locale)` instead.
    `void` | `generate(org.apache.maven.doxia.sink.Sink aSink, org.apache.maven.doxia.sink.SinkFactory aSinkFactory, Locale aLocale)` This method is called when the report generation is invoked by maven-site-plugin.
    `String` | `getCategoryName()`
    `protected String` | `getInputEncoding()` Gets the input files encoding.
    `protected String` | `getOutputDirectory()`
    `protected String` | `getOutputEncoding()` Gets the effective reporting output files encoding.
    `protected org.apache.maven.project.MavenProject` | `getProject()`
    `File` | `getReportOutputDirectory()`
    `org.apache.maven.doxia.sink.Sink` | `getSink()`
    `org.apache.maven.doxia.sink.SinkFactory` | `getSinkFactory()`
    `protected org.apache.maven.doxia.siterenderer.Renderer` | `getSiteRenderer()`
    `boolean` | `isExternalReport()`
    `void` | `setReportOutputDirectory(File reportOutputDirectory)`

    - ### Methods inherited from class org.apache.maven.plugin.AbstractMojo

      `getLog, getPluginContext, setLog, setPluginContext`

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

      `getDescription, getName, getOutputName`

- - ### Field Detail

    - #### outputDirectory

          @Parameter(defaultValue="${project.reporting.outputDirectory}",
                     readonly=true,
                     required=true)
          protected File outputDirectory

      The output directory for the report. Note that this parameter is only evaluated if the goal is run directly from the command line. If the goal is run indirectly as part of a site generation, the output directory configured in the Maven Site Plugin is used instead.

    - #### project

          @Parameter(defaultValue="${project}",
                     readonly=true,
                     required=true)
          protected org.apache.maven.project.MavenProject project

      The Maven Project.

    - #### siteRenderer

          @Component
          protected org.apache.maven.doxia.siterenderer.Renderer siteRenderer

      Doxia Site Renderer component.

  - ### Constructor Detail

    - #### AbstractMavenReport

          public AbstractMavenReport()

  - ### Method Detail

    - #### execute

          public void execute()
                       throws org.apache.maven.plugin.MojoExecutionException

      This method is called when the report generation is invoked directly as a standalone Mojo.
      Specified by:
        `execute` in interface `org.apache.maven.plugin.Mojo`
      Throws:
        `org.apache.maven.plugin.MojoExecutionException` - if an error occurs when generating the report
      See Also:
        `org.apache.maven.plugins.site.ReportDocumentRender`, `Mojo.execute()`

    - #### generate

          public void generate(org.codehaus.doxia.sink.Sink aSink,
                      Locale aLocale)
                        throws org.apache.maven.reporting.MavenReportException

      Deprecated. use `generate(Sink, SinkFactory, Locale)` instead.
      Generate a report.
      Specified by:
        `generate` in interface `org.apache.maven.reporting.MavenReport`
      Parameters:
        `aSink` - the sink to use for the generation.
        `aLocale` - the wanted locale to generate the report, could be null.
      Throws:
        `MavenReportException` - if any

    - #### generate

          public void generate(org.apache.maven.doxia.sink.Sink aSink,
                      Locale aLocale)
                        throws org.apache.maven.reporting.MavenReportException

      Deprecated. use `generate(Sink, SinkFactory, Locale)` instead.
      Generate a report.
      Parameters:
        `aSink` -
        `aLocale` -
      Throws:
        `MavenReportException`
      See Also:
        `org.apache.maven.reporting.MavenReport#generate(org.apache.maven.doxia.sink.Sink, java.util.Locale)`

    - #### generate

          public void generate(org.apache.maven.doxia.sink.Sink aSink,
                      org.apache.maven.doxia.sink.SinkFactory aSinkFactory,
                      Locale aLocale)
                        throws org.apache.maven.reporting.MavenReportException

      This method is called when the report generation is invoked by maven-site-plugin.
      Specified by:
        `generate` in interface `MavenMultiPageReport`
      Parameters:
        `aSink` -
        `aSinkFactory` -
        `aLocale` -
      Throws:
        `MavenReportException`

    - #### getCategoryName

          public String getCategoryName()

      Specified by:
        `getCategoryName` in interface `org.apache.maven.reporting.MavenReport`
      Returns:
        CATEGORY_PROJECT_REPORTS

    - #### getReportOutputDirectory

          public File getReportOutputDirectory()

      Specified by:
        `getReportOutputDirectory` in interface `org.apache.maven.reporting.MavenReport`

    - #### setReportOutputDirectory

          public void setReportOutputDirectory(File reportOutputDirectory)

      Specified by:
        `setReportOutputDirectory` in interface `org.apache.maven.reporting.MavenReport`

    - #### getOutputDirectory

          protected String getOutputDirectory()

    - #### getProject

          protected org.apache.maven.project.MavenProject getProject()

    - #### getSiteRenderer

          protected org.apache.maven.doxia.siterenderer.Renderer getSiteRenderer()

    - #### getInputEncoding

          protected String getInputEncoding()

      Gets the input files encoding.
      Returns:
        The input files encoding, never `null`.

    - #### getOutputEncoding

          protected String getOutputEncoding()

      Gets the effective reporting output files encoding.
      Returns:
        The effective reporting output file encoding, never `null`.

    - #### closeReport

          protected void closeReport()

      Actions when closing the report.

    - #### getSink

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

      Returns:
        the sink used

    - #### getSinkFactory

          public org.apache.maven.doxia.sink.SinkFactory getSinkFactory()

      Returns:
        the sink factory used

    - #### isExternalReport

          public boolean isExternalReport()

      Specified by:
        `isExternalReport` in interface `org.apache.maven.reporting.MavenReport`
      Returns:
        `false` by default.
      See Also:
        `MavenReport.isExternalReport()`

    - #### canGenerateReport

          public boolean canGenerateReport()

      Specified by:
        `canGenerateReport` in interface `org.apache.maven.reporting.MavenReport`

    - #### executeReport

          protected abstract void executeReport(Locale locale)
                                         throws org.apache.maven.reporting.MavenReportException

      Execute the generation of the report.
      Parameters:
        `locale` - the wanted locale to return the report's description, could be `null`.
      Throws:
        `MavenReportException` - if any

Copyright © 2015. All rights reserved.