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 Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.io.File` | `getDestination()` | Deprecated. Use `getOutputLocation()` instead.
    `java.lang.String` | `getDisplayName()` | A more descriptive name of this report.
    `java.lang.String` | `getName()` | The symbolic name of this report.
    `Provider<? 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.
    `boolean` | `isEnabled()` | Deprecated. Use `getRequired()` instead.
    `void` | `setEnabled​(boolean enabled)` | Deprecated. Use `getRequired()`.set() instead.

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

    - #### isEnabled

          @Deprecated
          @ReplacedBy("required")
          boolean isEnabled()

      Deprecated.
      Use `getRequired()` instead. This method will be removed in Gradle 8.0.
      Whether or not this report should be generated by whatever generates it.

      If `true`, the generator of this report will generate it at the appropriate time. If `false`, the generator of this report will not generate this report.

      Returns:
        Whether or not this report should be generated by whatever generates it.

    - #### setEnabled

          @Deprecated
          void setEnabled​(boolean enabled)

      Deprecated.
      Use `getRequired()`.set() instead. This method will be removed in Gradle 8.0.
      Whether or not this report should be generated by whatever generates it.
      Parameters:
        `enabled` - Whether or not this report should be generated by whatever generates it.
      See Also:
        `isEnabled()`

    - #### getOutputLocation

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

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

    - #### getDestination

          @Deprecated
          @ReplacedBy("outputLocation")
          java.io.File getDestination()

      Deprecated.
      Use `getOutputLocation()` instead. This method will be removed in Gradle 8.0.
      The location on the filesystem of the report when it is generated.

      Depending on the `output type` of the report, this may point to a file or a directory.

      Subtypes may implement setters for the destination.

      Returns:
        The location on the filesystem of the report when it is generated

    - #### getOutputType

          @Input
          Report.OutputType getOutputType()

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