Package org.gradle.api.reporting

## Interface Report

- All Superinterfaces:
    `Configurable<Report>`
  All Known Subinterfaces:
    `ConfigurableReport`, `CustomizableHtmlReport`, `DirectoryReport`, `JUnitXmlReport`, `SingleFileReport`

      public interface Report
      extends Configurable<Report>

  A file based report to be created.

  Tasks that produce reports expose instances of this type for configuration via the `Reporting` interface.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `Report.OutputType` | The type of output the report produces

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static Namer<Report>` | `NAMER` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getDisplayName()` | A more descriptive name of this report.
    `java.lang.String` | `getName()` | The symbolic name of this report.
    `Property<? extends FileSystemLocation>` | `getOutputLocation()` | The location on the filesystem to generate the report to.
    `Report.OutputType` | `getOutputType()` | The type of output that the report generates.
    `Property<java.lang.Boolean>` | `getRequired()` | A flag that determines whether this report should be generated or not.

    - ### Methods inherited from interface org.gradle.util.Configurable

      `configure`

- - ### Field Detail

    - #### NAMER

          static final Namer<Report> NAMER

  - ### Method Detail

    - #### getName

          @Input
          java.lang.String getName()

      The symbolic name of this report.

      The name of the report usually indicates the format (e.g. XML, HTML etc.) but can be anything.

      When part of a `ReportContainer`, reports are accessed via their name. That is, given a report container variable named `reports` containing a report who's `getName()` returns `"html"`, the report could be accessed via:

           reports.html

      Returns:
        The name of this report.

    - #### getDisplayName

          @Input
          java.lang.String getDisplayName()

      A more descriptive name of this report. Used when the report is referenced for end users.
      Returns:
        A more descriptive name of this report.

    - #### getRequired

          @Input
          Property<java.lang.Boolean> getRequired()

      A flag that determines whether this report should be generated or not.
      Since:
        6.1

    - #### getOutputLocation

          @Internal("Implementations need to add the correct annotation, @OutputDirectory or @OutputFile")
          Property<? extends FileSystemLocation> getOutputLocation()

      The location on the filesystem to generate the report to.
      Since:
        6.1

    - #### getOutputType

          @Input
          Report.OutputType getOutputType()

      The type of output that the report generates.
      Returns:
        The type of output that the report generates.