Package net.sourceforge.pmd
Class Report
- java.lang.Object
-
- net.sourceforge.pmd.Report
-
- All Implemented Interfaces:
Iterable<RuleViolation>
public class Report extends Object implements Iterable<RuleViolation>
AReportcollects all informations during a PMD execution. This includes violations, suppressed violations, metrics, error during processing and configuration errors.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classReport.ConfigurationErrorRepresents a configuration error.static classReport.ProcessingErrorRepresents a processing error, such as a parse error.static classReport.ReadableDurationRepresents a duration.static classReport.SuppressedViolationRepresents a violation, that has been suppressed.
-
Constructor Summary
Constructors Constructor Description Report()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddConfigError(Report.ConfigurationError error)Adds a new configuration error to the report.voidaddError(Report.ProcessingError error)Adds a new processing error to the report.voidaddListener(ThreadSafeReportListener listener)Registers a report listenervoidaddListeners(List<ThreadSafeReportListener> allListeners)Adds all given listeners to this reportvoidaddMetric(Metric metric)Deprecated.seeStatisticalRulevoidaddRuleViolation(RuleViolation violation)Adds a new rule violation to the report and notify the listeners.Iterator<Report.ConfigurationError>configErrors()Returns an iterator of the reported configuration errors.static ReportcreateReport(RuleContext ctx, String fileName)Creates a new, initialized, empty report for the given file name.voidend()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.longgetElapsedTimeInMillis()List<ThreadSafeReportListener>getListeners()Map<String,Integer>getSummary()Calculate a summary of violations per rule.List<Report.SuppressedViolation>getSuppressedRuleViolations()ReportTreegetViolationTree()booleanhasConfigErrors()Checks whether any configuration errors have been reported.booleanhasErrors()Checks whether any processing errors have been reported.booleanhasMetrics()Deprecated.seeStatisticalRulebooleanisEmpty()Iterator<RuleViolation>iterator()voidmerge(Report r)Merges the given report into this report.Iterator<Metric>metrics()Deprecated.seeStatisticalRuleintsize()The number of violations.voidstart()Mark the start time of the report.voidsuppress(Map<Integer,String> lines)Configure the lines, that are suppressed via a NOPMD comment.booleantreeIsEmpty()Checks whether no violations have been reported.Iterator<RuleViolation>treeIterator()Returns an iteration over the reported violations.inttreeSize()The number of violations.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
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 reportfileName- 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(ThreadSafeReportListener 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
@Deprecated public void addMetric(Metric metric)
Deprecated.seeStatisticalRuleAdds a new metric to the report and notify the listeners- Parameters:
metric- the metric to add
-
addConfigError
public void addConfigError(Report.ConfigurationError 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
@Deprecated public boolean hasMetrics()
Deprecated.seeStatisticalRuleCheck whether any metrics have been reported- Returns:
trueif there are metrics,falseotherwise
-
metrics
@Deprecated public Iterator<Metric> metrics()
Deprecated.seeStatisticalRuleIterate 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:
trueif there were any processing errors,falseotherwise
-
hasConfigErrors
public boolean hasConfigErrors()
Checks whether any configuration errors have been reported.- Returns:
trueif there were any configuration errors,falseotherwise
-
treeIsEmpty
public boolean treeIsEmpty()
Checks whether no violations have been reported.- Returns:
trueif no violations have been reported,falseotherwise
-
treeIterator
public Iterator<RuleViolation> treeIterator()
Returns an iteration over the reported violations.- Returns:
- an iterator
-
iterator
public Iterator<RuleViolation> iterator()
- Specified by:
iteratorin interfaceIterable<RuleViolation>
-
errors
public Iterator<Report.ProcessingError> errors()
Returns an iterator of the reported processing errors.- Returns:
- the iterator
-
configErrors
public Iterator<Report.ConfigurationError> 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()
-
getListeners
public List<ThreadSafeReportListener> getListeners()
-
addListeners
public void addListeners(List<ThreadSafeReportListener> allListeners)
Adds all given listeners to this report- Parameters:
allListeners- the report listeners
-
-