net.sourceforge.cobertura.reporting.html

Class HTMLReport


public class HTMLReport
extends java.lang.Object

Field Summary

private static Logger
LOGGER
private ComplexityCalculator
complexity
private File
destinationDir
private FileFinder
finder
private ProjectData
projectData

Constructor Summary

HTMLReport(ProjectData projectData, File outputDir, FileFinder finder, ComplexityCalculator complexity)
Create a coverage report

Method Summary

private static String
generateFooter()
private static String
generateHelpURL(String text, String description)
private String
generateHtmlizedJavaSource(SourceFileData sourceFileData)
private void
generateOverview(PackageData packageData)
private void
generateOverviews()
private void
generatePackageList()
private String
generatePackageName(PackageData packageData)
private static String
generatePercentResult(int dividend, int divisor)
This is crazy complicated, and took me a while to figure out, but it works.
private void
generateSourceFile(SourceFileData sourceFileData)
private void
generateSourceFileList(PackageData packageData)
private void
generateSourceFileLists()
private void
generateSourceFiles()
private static String
generateTableColumnsFromData(CoverageData coverageData, double ccn)
Return a string containing three HTML table cells.
private static String
generateTableHeader(String title, boolean showColumnForNumberOfClasses)
private String
generateTableRowForClass(ClassData classData, String sourceFileName, double ccn)
private String
generateTableRowForPackage(PackageData packageData)
private String
generateTableRowForTotal()
private String
generateTableRowsForSourceFile(SourceFileData sourceFileData)
private static String
getDoubleValue(double value)
private static String
getPercentValue(double value)

Field Details

LOGGER

private static final Logger LOGGER

complexity

private ComplexityCalculator complexity

destinationDir

private File destinationDir

finder

private FileFinder finder

projectData

private ProjectData projectData

Constructor Details

HTMLReport

public HTMLReport(ProjectData projectData,
                  File outputDir,
                  FileFinder finder,
                  ComplexityCalculator complexity)
            throws Exception
Create a coverage report

Method Details

generateFooter

private static String generateFooter()

generateHelpURL

private static String generateHelpURL(String text,
                                      String description)

generateHtmlizedJavaSource

private String generateHtmlizedJavaSource(SourceFileData sourceFileData)

generateOverview

private void generateOverview(PackageData packageData)
            throws IOException

generateOverviews

private void generateOverviews()
            throws IOException

generatePackageList

private void generatePackageList()
            throws IOException

generatePackageName

private String generatePackageName(PackageData packageData)

generatePercentResult

private static String generatePercentResult(int dividend,
                                            int divisor)
This is crazy complicated, and took me a while to figure out, but it works. It creates a dandy little percentage meter, from 0 to 100.
Parameters:
dividend - The number of covered lines or branches.
divisor - The number of valid lines or branches.
Returns:
A percentage meter.

generateSourceFile

private void generateSourceFile(SourceFileData sourceFileData)
            throws IOException

generateSourceFileList

private void generateSourceFileList(PackageData packageData)
            throws IOException

generateSourceFileLists

private void generateSourceFileLists()
            throws IOException

generateSourceFiles

private void generateSourceFiles()

generateTableColumnsFromData

private static String generateTableColumnsFromData(CoverageData coverageData,
                                                   double ccn)
Return a string containing three HTML table cells. The first cell contains a graph showing the line coverage, the second cell contains a graph showing the branch coverage, and the third cell contains the code complexity.
Parameters:
ccn - The code complexity to display. This should be greater than 1.
Returns:
A string containing the HTML for three table cells.

generateTableHeader

private static String generateTableHeader(String title,
                                          boolean showColumnForNumberOfClasses)

generateTableRowForClass

private String generateTableRowForClass(ClassData classData,
                                        String sourceFileName,
                                        double ccn)

generateTableRowForPackage

private String generateTableRowForPackage(PackageData packageData)

generateTableRowForTotal

private String generateTableRowForTotal()

generateTableRowsForSourceFile

private String generateTableRowsForSourceFile(SourceFileData sourceFileData)

getDoubleValue

private static String getDoubleValue(double value)

getPercentValue

private static String getPercentValue(double value)