Class AbstractGroupVisitor

java.lang.Object
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 Details

  • Constructor Details

    • AbstractGroupVisitor

      protected AbstractGroupVisitor(String name)
      Creates a new group with the given name.
      Parameters:
      name - name for the coverage node created internally
  • Method Details

    • visitBundle

      public final void visitBundle(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(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
    • finalizeLastChild

      private void finalizeLastChild() throws IOException
      Throws:
      IOException