org.apache.maven.reporting

## Interface MavenReport

-     public interface MavenReport

  The basis for a Maven report.
  Since:
    2.0
  Version:
    $Id: MavenReport.java 640549 2008-03-24 20:05:11Z bentmann $
  Author:
    Brett Porter, Emmanuel Venisse, Vincent Siveton

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `CATEGORY_PROJECT_INFORMATION` Category for project information reports
    `static java.lang.String` | `CATEGORY_PROJECT_REPORTS` Category for project reports
    `static java.lang.String` | `ROLE` Plexus lookup name

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `canGenerateReport()` Verify some conditions before generate the report.
    `void` | `generate(Sink sink, java.util.Locale locale)` Generate the report depending the wanted locale.
    `java.lang.String` | `getCategoryName()` Get the category name for this report.
    `java.lang.String` | `getDescription(java.util.Locale locale)`
    `java.lang.String` | `getName(java.util.Locale locale)`
    `java.lang.String` | `getOutputName()`
    `java.io.File` | `getReportOutputDirectory()`
    `boolean` | `isExternalReport()` An external report is a report which calls a third party program which generates some reports too.
    `void` | `setReportOutputDirectory(java.io.File outputDirectory)` Set a new output directory.

- - ### Field Detail

    - #### ROLE

          static final java.lang.String ROLE

      Plexus lookup name

    - #### CATEGORY_PROJECT_INFORMATION

          static final java.lang.String CATEGORY_PROJECT_INFORMATION

      Category for project information reports
      See Also:
        Constant Field Values

    - #### CATEGORY_PROJECT_REPORTS

          static final java.lang.String CATEGORY_PROJECT_REPORTS

      Category for project reports
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### generate

          void generate(Sink sink,
                      java.util.Locale locale)
                        throws MavenReportException

      Generate the report depending the wanted locale.
      Mainly used for external reports like javadoc.
      Parameters:
        `sink` - the sink to use for the generation.
        `locale` - the wanted locale to generate the report, could be null.
      Throws:
        `MavenReportException` - if any

    - #### getOutputName

          java.lang.String getOutputName()

      Returns:
        the output name of this report.

    - #### getCategoryName

          java.lang.String getCategoryName()

      Get the category name for this report.
      Returns:
        the category name of this report. Should be `CATEGORY_PROJECT_INFORMATION` or `CATEGORY_PROJECT_REPORTS` `CATEGORY_PROJECT_INFORMATION` `CATEGORY_PROJECT_REPORTS`

    - #### getName

          java.lang.String getName(java.util.Locale locale)

      Parameters:
        `locale` - the wanted locale to return the report's name, could be null.
      Returns:
        the name of this report.

    - #### getDescription

          java.lang.String getDescription(java.util.Locale locale)

      Parameters:
        `locale` - the wanted locale to return the report's description, could be null.
      Returns:
        the description of this report.

    - #### setReportOutputDirectory

          void setReportOutputDirectory(java.io.File outputDirectory)

      Set a new output directory. Useful for staging.
      Parameters:
        `outputDirectory` - the new output directory

    - #### getReportOutputDirectory

          java.io.File getReportOutputDirectory()

      Returns:
        the current report output directory.

    - #### isExternalReport

          boolean isExternalReport()

      An external report is a report which calls a third party program which generates some reports too. A good example is javadoc tool.
      Returns:
        `true` if this report is external, `false` otherwise. Default should `false`.

    - #### canGenerateReport

          boolean canGenerateReport()

      Verify some conditions before generate the report.
      Returns:
        `true` if this report could be generated, `false` otherwise. Default should `true`.