/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
import net.sourceforge.pmd.stat.Metric;
/**
* Marker interface for report listeners that, being thread-safe, need not
* extra synchronization.
*
* Thread-safety is required only for concurrently notifying about different files.
* Same file violations are guaranteed to be reported serially.
*/
public interface ThreadSafeReportListener extends ReportListener {
/**
* A new violation has been found.
*
* @param ruleViolation
* the found violation.
*/
void ruleViolationAdded(RuleViolation ruleViolation);
/**
* A new metric point has been reported.
*
* @param metric
* the metric
*/
void metricAdded(Metric metric);
}