Interface ReportContainer<T extends Report>

Type Parameters:
T - The base report type for reports of this container.
All Superinterfaces:
Collection<T>, Configurable<ReportContainer<T>>, DomainObjectCollection<T>, DomainObjectSet<T>, Iterable<T>, NamedDomainObjectCollection<T>, NamedDomainObjectSet<T>, Set<T>
All Known Subinterfaces:
BuildDashboardReports, CheckstyleReports, CodeNarcReports, ConfigurationReports, DependencyReportContainer, JacocoReportsContainer, PmdReports, TestTaskReports

public interface ReportContainer<T extends Report> extends NamedDomainObjectSet<T>, Configurable<ReportContainer<T>>
A container of Report objects, that represent potential reports.

Things that produce reports (typically tasks) expose a report container that contains Report objects for each possible report that they can produce. Each report object can be configured individually, including whether or not it should be produced by way of its Report.getRequired() required} property.

ReportContainer implementations are immutable in that standard collection methods such as add(), remove() and clear() will throw an ReportContainer.ImmutableViolationException. However, implementations may provide new methods that allow the addition of new report object and/or the removal of existing report objects.