org.acm.seguin.metrics
Class MetricsReport

java.lang.Object
  extended by org.acm.seguin.metrics.MetricsReport
Direct Known Subclasses:
CommaDelimitedReport, TextReport

public abstract class MetricsReport
extends java.lang.Object

Gathers metrics data

Author:
Chris Seguin

Constructor Summary
MetricsReport()
           
 
Method Summary
 void finalReport(ProjectMetrics projectData)
          Make a final report on totals
 void methodReport(MethodMetrics methodData)
          Method report shows all the metrics associated with a particular method.
protected abstract  void reportAbstractClasses(ProjectMetrics projectData)
          Reports on the number of abstract classes
protected abstract  void reportAverageClassMethods(ProjectMetrics projectData)
          Reports on the average number of class methods
protected abstract  void reportAverageClassVariables(ProjectMetrics projectData)
          Reports on the average number of class variables
protected abstract  void reportAverageInstanceVariables(ProjectMetrics projectData)
          Reports on the average number of instance variables
protected abstract  void reportAverageOtherMethods(ProjectMetrics projectData)
          Reports on the average number of other methods
protected abstract  void reportAverageParameters(ProjectMetrics projectData)
          Reports on the average number of parameters
protected abstract  void reportAveragePublicMethods(ProjectMetrics projectData)
          Reports on the average number of public methods
protected abstract  void reportAverageStatements(ProjectMetrics projectData)
          Reports on the average number of statements
protected abstract  void reportBlockDepth(java.lang.String pack, java.lang.String type, java.lang.String name, int count)
          Reports on the block depth of code
protected abstract  void reportClasses(ProjectMetrics projectData)
          Reports on the number of classes
protected abstract  void reportClassMethods(java.lang.String pack, java.lang.String type, int count)
          Reports on the number of class methods
protected abstract  void reportClassVariables(java.lang.String pack, java.lang.String type, int count)
          Reports on the number of class variables
protected abstract  void reportInstanceVariables(java.lang.String pack, java.lang.String type, int count)
          Reports on the number of instance variables
protected abstract  void reportInterfaces(ProjectMetrics projectData)
          Reports on the number of interfaces
protected abstract  void reportLinesOfCode(java.lang.String pack, java.lang.String type, java.lang.String name, int count)
          Reports on the number of lines of code
protected abstract  void reportOtherMethods(java.lang.String pack, java.lang.String type, int count)
          Reports on the number of other methods
protected abstract  void reportParameters(java.lang.String pack, java.lang.String type, java.lang.String name, int count)
          Reports on the number of parameters
protected abstract  void reportPublicMethods(java.lang.String pack, java.lang.String type, int count)
          Reports on the number of public methods
protected abstract  void reportStatement(java.lang.String pack, java.lang.String type, java.lang.String name, int count)
          Reports on the number of statements
 void typeReport(TypeMetrics typeData)
          Method report shows all the metrics associated with a particular type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MetricsReport

public MetricsReport()
Method Detail

finalReport

public void finalReport(ProjectMetrics projectData)
Make a final report on totals

Parameters:
projectData - Description of Parameter

typeReport

public void typeReport(TypeMetrics typeData)
Method report shows all the metrics associated with a particular type.

Parameters:
typeData - the metrics for a particular type

methodReport

public void methodReport(MethodMetrics methodData)
Method report shows all the metrics associated with a particular method.

Parameters:
methodData - the metrics associated with a particular method

reportStatement

protected abstract void reportStatement(java.lang.String pack,
                                        java.lang.String type,
                                        java.lang.String name,
                                        int count)
Reports on the number of statements

Parameters:
pack - the name of the package
type - the name of the class or interface
name - the name of the method
count - the number of statements

reportParameters

protected abstract void reportParameters(java.lang.String pack,
                                         java.lang.String type,
                                         java.lang.String name,
                                         int count)
Reports on the number of parameters

Parameters:
pack - the name of the package
type - the name of the class or interface
name - the name of the method
count - the number of parameters

reportLinesOfCode

protected abstract void reportLinesOfCode(java.lang.String pack,
                                          java.lang.String type,
                                          java.lang.String name,
                                          int count)
Reports on the number of lines of code

Parameters:
pack - the name of the package
type - the name of the class or interface
name - the name of the method
count - the number of parameters

reportBlockDepth

protected abstract void reportBlockDepth(java.lang.String pack,
                                         java.lang.String type,
                                         java.lang.String name,
                                         int count)
Reports on the block depth of code

Parameters:
pack - the name of the package
type - the name of the class or interface
name - the name of the method
count - the number of parameters

reportAverageStatements

protected abstract void reportAverageStatements(ProjectMetrics projectData)
Reports on the average number of statements

Parameters:
projectData - Description of Parameter

reportAverageParameters

protected abstract void reportAverageParameters(ProjectMetrics projectData)
Reports on the average number of parameters

Parameters:
projectData - Description of Parameter

reportPublicMethods

protected abstract void reportPublicMethods(java.lang.String pack,
                                            java.lang.String type,
                                            int count)
Reports on the number of public methods

Parameters:
pack - the name of the package
type - the name of the class or interface
count - the number of public methods

reportOtherMethods

protected abstract void reportOtherMethods(java.lang.String pack,
                                           java.lang.String type,
                                           int count)
Reports on the number of other methods

Parameters:
pack - the name of the package
type - the name of the class or interface
count - the number of other methods

reportClassMethods

protected abstract void reportClassMethods(java.lang.String pack,
                                           java.lang.String type,
                                           int count)
Reports on the number of class methods

Parameters:
pack - the name of the package
type - the name of the class or interface
count - the number of class methods

reportInstanceVariables

protected abstract void reportInstanceVariables(java.lang.String pack,
                                                java.lang.String type,
                                                int count)
Reports on the number of instance variables

Parameters:
pack - the name of the package
type - the name of the class or interface
count - the number of instance variables

reportClassVariables

protected abstract void reportClassVariables(java.lang.String pack,
                                             java.lang.String type,
                                             int count)
Reports on the number of class variables

Parameters:
pack - the name of the package
type - the name of the class or interface
count - the number of class variables

reportAbstractClasses

protected abstract void reportAbstractClasses(ProjectMetrics projectData)
Reports on the number of abstract classes

Parameters:
projectData - Description of Parameter

reportInterfaces

protected abstract void reportInterfaces(ProjectMetrics projectData)
Reports on the number of interfaces

Parameters:
projectData - Description of Parameter

reportClasses

protected abstract void reportClasses(ProjectMetrics projectData)
Reports on the number of classes

Parameters:
projectData - Description of Parameter

reportAveragePublicMethods

protected abstract void reportAveragePublicMethods(ProjectMetrics projectData)
Reports on the average number of public methods

Parameters:
projectData - Description of Parameter

reportAverageOtherMethods

protected abstract void reportAverageOtherMethods(ProjectMetrics projectData)
Reports on the average number of other methods

Parameters:
projectData - Description of Parameter

reportAverageClassMethods

protected abstract void reportAverageClassMethods(ProjectMetrics projectData)
Reports on the average number of class methods

Parameters:
projectData - Description of Parameter

reportAverageInstanceVariables

protected abstract void reportAverageInstanceVariables(ProjectMetrics projectData)
Reports on the average number of instance variables

Parameters:
projectData - Description of Parameter

reportAverageClassVariables

protected abstract void reportAverageClassVariables(ProjectMetrics projectData)
Reports on the average number of class variables

Parameters:
projectData - Description of Parameter