net.sourceforge.pmd
Class Report

java.lang.Object
  extended by net.sourceforge.pmd.Report
All Implemented Interfaces:
Iterable<RuleViolation>

public class Report
extends Object
implements Iterable<RuleViolation>

A Report collects all informations during a PMD execution. This includes violations, suppressed violations, metrics, error during processing and configuration errors.


Nested Class Summary
static class Report.ProcessingError
          Represents a processing error, such as a parse error.
static class Report.ReadableDuration
          Represents a duration.
static class Report.RuleConfigurationError
          Represents a configuration error.
static class Report.SuppressedViolation
          Represents a violation, that has been suppressed.
 
Constructor Summary
Report()
           
 
Method Summary
 void addConfigError(Report.RuleConfigurationError error)
          Adds a new configuration error to the report.
 void addError(Report.ProcessingError error)
          Adds a new processing error to the report.
 void addListener(ReportListener listener)
          Registers a report listener
 void addMetric(Metric metric)
          Adds a new metric to the report and notify the listeners
 void addRuleViolation(RuleViolation violation)
          Adds a new rule violation to the report and notify the listeners.
 void addSynchronizedListeners(List<SynchronizedReportListener> synchronizedListeners)
          Adds all given listeners to this report
 Iterator<Report.RuleConfigurationError> configErrors()
          Returns an iterator of the reported configuration errors.
static Report createReport(RuleContext ctx, String fileName)
          Creates a new, initialized, empty report for the given file name.
 void end()
          Mark the end time of the report.
 Iterator<Report.ProcessingError> errors()
          Returns an iterator of the reported processing errors.
 Map<String,Integer> getCountSummary()
          Calculate a summary of violation counts per fully classified class name.
 long getElapsedTimeInMillis()
           
 Map<String,Integer> getSummary()
          Calculate a summary of violations per rule.
 List<Report.SuppressedViolation> getSuppressedRuleViolations()
           
 List<SynchronizedReportListener> getSynchronizedListeners()
           
 ReportTree getViolationTree()
           
 boolean hasConfigErrors()
          Checks whether any configuration errors have been reported.
 boolean hasErrors()
          Checks whether any processing errors have been reported.
 boolean hasMetrics()
          Check whether any metrics have been reported
 boolean isEmpty()
           
 Iterator<RuleViolation> iterator()
           
 void merge(Report r)
          Merges the given report into this report.
 Iterator<Metric> metrics()
          Iterate over the metrics.
 int size()
          The number of violations.
 void start()
          Mark the start time of the report.
 void suppress(Map<Integer,String> lines)
          Configure the lines, that are suppressed via a NOPMD comment.
 boolean treeIsEmpty()
          Checks whether no violations have been reported.
 Iterator<RuleViolation> treeIterator()
          Returns an iteration over the reported violations.
 int treeSize()
          The number of violations.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Report

public Report()
Method Detail

createReport

public static Report createReport(RuleContext ctx,
                                  String fileName)
Creates a new, initialized, empty report for the given file name.

Parameters:
ctx - The context to use to connect to the report
fileName - the filename used to report any violations
Returns:
the new report

suppress

public void suppress(Map<Integer,String> lines)
Configure the lines, that are suppressed via a NOPMD comment.

Parameters:
lines - the suppressed lines

getCountSummary

public Map<String,Integer> getCountSummary()
Calculate a summary of violation counts per fully classified class name.

Returns:
violations per class name

getViolationTree

public ReportTree getViolationTree()

getSummary

public Map<String,Integer> getSummary()
Calculate a summary of violations per rule.

Returns:
a Map summarizing the Report: String (rule name) ->Integer (count of violations)

addListener

public void addListener(ReportListener listener)
Registers a report listener

Parameters:
listener - the listener

getSuppressedRuleViolations

public List<Report.SuppressedViolation> getSuppressedRuleViolations()

addRuleViolation

public void addRuleViolation(RuleViolation violation)
Adds a new rule violation to the report and notify the listeners.

Parameters:
violation - the violation to add

addMetric

public void addMetric(Metric metric)
Adds a new metric to the report and notify the listeners

Parameters:
metric - the metric to add

addConfigError

public void addConfigError(Report.RuleConfigurationError error)
Adds a new configuration error to the report.

Parameters:
error - the error to add

addError

public void addError(Report.ProcessingError error)
Adds a new processing error to the report.

Parameters:
error - the error to add

merge

public void merge(Report r)
Merges the given report into this report. This might be necessary, if a summary over all violations is needed as PMD creates one report per file by default.

Parameters:
r - the report to be merged into this.
See Also:
AbstractAccumulatingRenderer

hasMetrics

public boolean hasMetrics()
Check whether any metrics have been reported

Returns:
true if there are metrics, false otherwise

metrics

public Iterator<Metric> metrics()
Iterate over the metrics.

Returns:
an iterator over the metrics

isEmpty

public boolean isEmpty()

hasErrors

public boolean hasErrors()
Checks whether any processing errors have been reported.

Returns:
true if there were any processing errors, false otherwise

hasConfigErrors

public boolean hasConfigErrors()
Checks whether any configuration errors have been reported.

Returns:
true if there were any configuration errors, false otherwise

treeIsEmpty

public boolean treeIsEmpty()
Checks whether no violations have been reported.

Returns:
true if no violations have been reported, false otherwise

treeIterator

public Iterator<RuleViolation> treeIterator()
Returns an iteration over the reported violations.

Returns:
an iterator

iterator

public Iterator<RuleViolation> iterator()
Specified by:
iterator in interface Iterable<RuleViolation>

errors

public Iterator<Report.ProcessingError> errors()
Returns an iterator of the reported processing errors.

Returns:
the iterator

configErrors

public Iterator<Report.RuleConfigurationError> configErrors()
Returns an iterator of the reported configuration errors.

Returns:
the iterator

treeSize

public int treeSize()
The number of violations.

Returns:
number of violations.

size

public int size()
The number of violations.

Returns:
number of violations.

start

public void start()
Mark the start time of the report. This is used to get the elapsed time in the end.

See Also:
getElapsedTimeInMillis()

end

public void end()
Mark the end time of the report. This is ued to get the elapsed time.

See Also:
getElapsedTimeInMillis()

getElapsedTimeInMillis

public long getElapsedTimeInMillis()

getSynchronizedListeners

public List<SynchronizedReportListener> getSynchronizedListeners()

addSynchronizedListeners

public void addSynchronizedListeners(List<SynchronizedReportListener> synchronizedListeners)
Adds all given listeners to this report

Parameters:
synchronizedListeners - the report listeners


Copyright © 2002-2015 InfoEther. All Rights Reserved.