net.sourceforge.cobertura.reporting.html
Class HTMLReport

java.lang.Object
  extended by net.sourceforge.cobertura.reporting.html.HTMLReport

public class HTMLReport
extends java.lang.Object


Field Summary
private  ComplexityCalculator complexity
           
private  java.io.File destinationDir
           
private  FileFinder finder
           
private static org.apache.log4j.Logger LOGGER
           
private  ProjectData projectData
           
 
Constructor Summary
HTMLReport(ProjectData projectData, java.io.File outputDir, FileFinder finder, ComplexityCalculator complexity)
          Create a coverage report
 
Method Summary
private  java.lang.String generateBranchInfo(LineData lineData, java.lang.String content)
           
private static java.lang.String generateFooter()
           
private static java.lang.String generateHelpURL(java.lang.String text, java.lang.String description)
           
private  java.lang.String generateHtmlizedJavaSource(SourceFileData sourceFileData)
           
private  void generateOverview(PackageData packageData)
           
private  void generateOverviews()
           
private  void generatePackageList()
           
private  java.lang.String generatePackageName(PackageData packageData)
           
private static java.lang.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 java.lang.String generateTableColumnsFromData(CoverageData coverageData, double ccn)
          Return a string containing three HTML table cells.
private static java.lang.String generateTableHeader(java.lang.String title, boolean showColumnForNumberOfClasses)
           
private  java.lang.String generateTableRowForClass(ClassData classData, java.lang.String sourceFileName, double ccn)
           
private  java.lang.String generateTableRowForPackage(PackageData packageData)
           
private  java.lang.String generateTableRowForTotal()
           
private  java.lang.String generateTableRowsForSourceFile(SourceFileData sourceFileData)
           
private static java.lang.String getDoubleValue(double value)
           
private static java.lang.String getPercentValue(double value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGGER

private static final org.apache.log4j.Logger LOGGER

destinationDir

private java.io.File destinationDir

finder

private FileFinder finder

complexity

private ComplexityCalculator complexity

projectData

private ProjectData projectData
Constructor Detail

HTMLReport

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

Throws:
java.lang.Exception
Method Detail

generatePackageName

private java.lang.String generatePackageName(PackageData packageData)

generatePackageList

private void generatePackageList()
                          throws java.io.IOException
Throws:
java.io.IOException

generateSourceFileLists

private void generateSourceFileLists()
                              throws java.io.IOException
Throws:
java.io.IOException

generateSourceFileList

private void generateSourceFileList(PackageData packageData)
                             throws java.io.IOException
Throws:
java.io.IOException

generateOverviews

private void generateOverviews()
                        throws java.io.IOException
Throws:
java.io.IOException

generateOverview

private void generateOverview(PackageData packageData)
                       throws java.io.IOException
Throws:
java.io.IOException

generateSourceFiles

private void generateSourceFiles()

generateSourceFile

private void generateSourceFile(SourceFileData sourceFileData)
                         throws java.io.IOException
Throws:
java.io.IOException

generateBranchInfo

private java.lang.String generateBranchInfo(LineData lineData,
                                            java.lang.String content)

generateHtmlizedJavaSource

private java.lang.String generateHtmlizedJavaSource(SourceFileData sourceFileData)

generateFooter

private static java.lang.String generateFooter()

generateTableHeader

private static java.lang.String generateTableHeader(java.lang.String title,
                                                    boolean showColumnForNumberOfClasses)

generateHelpURL

private static java.lang.String generateHelpURL(java.lang.String text,
                                                java.lang.String description)

generateTableRowForTotal

private java.lang.String generateTableRowForTotal()

generateTableRowForPackage

private java.lang.String generateTableRowForPackage(PackageData packageData)

generateTableRowsForSourceFile

private java.lang.String generateTableRowsForSourceFile(SourceFileData sourceFileData)

generateTableRowForClass

private java.lang.String generateTableRowForClass(ClassData classData,
                                                  java.lang.String sourceFileName,
                                                  double ccn)

generateTableColumnsFromData

private static java.lang.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.

generatePercentResult

private static java.lang.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.

getDoubleValue

private static java.lang.String getDoubleValue(double value)

getPercentValue

private static java.lang.String getPercentValue(double value)