org.jacoco.report.internal
Class AbstractGroupVisitor

java.lang.Object
  extended by org.jacoco.report.internal.AbstractGroupVisitor
All Implemented Interfaces:
IReportGroupVisitor
Direct Known Subclasses:
HTMLGroupVisitor, XMLGroupVisitor

public abstract class AbstractGroupVisitor
extends Object
implements IReportGroupVisitor

Internal base visitor to calculate group counter summaries for hierarchical reports.


Field Summary
protected  org.jacoco.core.analysis.CoverageNodeImpl total
          coverage node for this group to total counters
 
Constructor Summary
protected AbstractGroupVisitor(String name)
          Creates a new group with the given name.
 
Method Summary
protected abstract  void handleBundle(org.jacoco.core.analysis.IBundleCoverage bundle, ISourceFileLocator locator)
          Called to handle the given bundle in a specific way.
protected abstract  void handleEnd()
          Called to handle the end of this group in a specific way.
protected abstract  AbstractGroupVisitor handleGroup(String name)
          Called to handle a group with the given name in a specific way.
 void visitBundle(org.jacoco.core.analysis.IBundleCoverage bundle, ISourceFileLocator locator)
          Called to add a bundle to the report.
 void visitEnd()
          Must be called at the end of every group.
 IReportGroupVisitor visitGroup(String name)
          Called to add a new group to the report.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

total

protected final org.jacoco.core.analysis.CoverageNodeImpl total
coverage node for this group to total counters

Constructor Detail

AbstractGroupVisitor

protected AbstractGroupVisitor(String name)
Creates a new group with the given name.

Parameters:
name - name for the coverage node created internally
Method Detail

visitBundle

public final void visitBundle(org.jacoco.core.analysis.IBundleCoverage bundle,
                              ISourceFileLocator locator)
                       throws IOException
Description copied from interface: IReportGroupVisitor
Called to add a bundle to the report.

Specified by:
visitBundle in interface IReportGroupVisitor
Parameters:
bundle - a bundle to include in the report
locator - source locator for this bundle
Throws:
IOException - in case of IO problems with the report writer

handleBundle

protected abstract void handleBundle(org.jacoco.core.analysis.IBundleCoverage bundle,
                                     ISourceFileLocator locator)
                              throws IOException
Called to handle the given bundle in a specific way.

Parameters:
bundle - analyzed bundle
locator - source locator
Throws:
IOException - if the report can't be written

visitGroup

public final IReportGroupVisitor visitGroup(String name)
                                     throws IOException
Description copied from interface: IReportGroupVisitor
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").

Specified by:
visitGroup in interface IReportGroupVisitor
Parameters:
name - name of the group
Returns:
visitor for the group's content
Throws:
IOException - in case of IO problems with the report writer

handleGroup

protected abstract AbstractGroupVisitor handleGroup(String name)
                                             throws IOException
Called to handle a group with the given name in a specific way.

Parameters:
name - name of the group
Returns:
created child group
Throws:
IOException - if the report can't be written

visitEnd

public final void visitEnd()
                    throws IOException
Must be called at the end of every group.

Throws:
IOException - if the report can't be written

handleEnd

protected abstract void handleEnd()
                           throws IOException
Called to handle the end of this group in a specific way.

Throws:
IOException - if the report can't be written


Copyright © 2009–2024 Mountainminds GmbH & Co. KG. All rights reserved.