View Javadoc
1 /*** 2 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html 3 */ 4 package net.sourceforge.pmd; 5 6 import net.sourceforge.pmd.stat.Metric; 7 8 import java.util.ArrayList; 9 import java.util.HashSet; 10 import java.util.Iterator; 11 import java.util.List; 12 import java.util.Set; 13 import java.util.TreeSet; 14 15 public class Report { 16 17 public static class ProcessingError { 18 private String msg; 19 private String file; 20 21 public ProcessingError(String msg, String file) { 22 this.msg = msg; 23 this.file = file; 24 } 25 26 public String getMsg() { 27 return msg; 28 } 29 30 public String getFile() { 31 return file; 32 } 33 } 34 35 private Set violations = new TreeSet(new RuleViolation.RuleViolationComparator()); 36 private Set metrics = new HashSet(); 37 private List listeners = new ArrayList(); 38 private List errors = new ArrayList(); 39 40 public void addListener(ReportListener listener) { 41 listeners.add(listener); 42 } 43 44 public void addRuleViolation(RuleViolation violation) { 45 violations.add(violation); 46 for (Iterator i = listeners.iterator(); i.hasNext();) { 47 ReportListener listener = (ReportListener) i.next(); 48 listener.ruleViolationAdded(violation); 49 } 50 } 51 52 public void addMetric(Metric metric) { 53 metrics.add(metric); 54 for (Iterator i = listeners.iterator(); i.hasNext();) { 55 ReportListener listener = (ReportListener) i.next(); 56 listener.metricAdded(metric); 57 } 58 } 59 60 public void addError(ProcessingError error) { 61 errors.add(error); 62 } 63 64 public boolean hasMetrics() { 65 return !metrics.isEmpty(); 66 } 67 68 public Iterator metrics() { 69 return metrics.iterator(); 70 } 71 72 public boolean isEmpty() { 73 return violations.isEmpty(); 74 } 75 76 public Iterator iterator() { 77 return violations.iterator(); 78 } 79 80 public Iterator errors() { 81 return errors.iterator(); 82 } 83 84 public int size() { 85 return violations.size(); 86 } 87 88 }

This page was automatically generated by Maven