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