Package org.jacoco.report

## Interface IReportGroupVisitor

All Known Subinterfaces:
  `IReportVisitor`

All Known Implementing Classes:
  `AbstractGroupVisitor`, `HTMLGroupVisitor`, `MultiReportVisitor`, `XMLGroupVisitor`

    public interface IReportGroupVisitor

Output-Interface for hierarchical report structures. To allow sequential processing and save memory the group structure has to be traversed in a "deep first" fashion. The interface is implemented by the report formatters and can be used to emit coverage report structures. The following constraints apply in using `IReportGroupVisitor` instances:

- A visitor instance can be used to either submit bundles ( `visitBundle(IBundleCoverage, ISourceFileLocator)`) or groups `visitGroup(String)`). Bundles and groups are not allowed for the same visitor.
- When creating nested groups with `visitGroup(String)` the hierarchy has to be processed in a "deep first" manner.

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `visitBundle​(IBundleCoverage bundle, ISourceFileLocator locator)` Called to add a bundle to the the report.
`IReportGroupVisitor` `visitGroup​(java.lang.String name)` Called to add a new group to the report.

### Method Detail

#### visitBundle

    void visitBundle​(IBundleCoverage bundle,
                     ISourceFileLocator locator)
              throws java.io.IOException

Called to add a bundle to the the report.

Parameters:
  `bundle` - a bundle to include in the report
  `locator` - source locator for this bundle
Throws:
  `java.io.IOException` - in case of IO problems with the report writer

#### visitGroup

    IReportGroupVisitor visitGroup​(java.lang.String name)
                            throws java.io.IOException

Called to add a new group to the report. The returned `IReportGroupVisitor` instance can be used to add nested bundles or groups. The content of the group has to be completed before this or any parent visitor can be used again ("deep first").

Parameters:
  `name` - name of the group
Returns:
  visitor for the group's content
Throws:
  `java.io.IOException` - in case of IO problems with the report writer