View Javadoc

1   /***
2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3   */
4   package net.sourceforge.pmd.renderers;
5   
6   import net.sourceforge.pmd.PMD;
7   import net.sourceforge.pmd.Report;
8   import net.sourceforge.pmd.RuleViolation;
9   
10  import java.util.Iterator;
11  
12  public class TextRenderer implements Renderer {
13  
14      public String render(Report report) {
15          if (report.isEmpty()) {
16              return "No problems found!";
17          }
18          StringBuffer buf = new StringBuffer();
19          for (Iterator i = report.iterator(); i.hasNext();) {
20              RuleViolation rv = (RuleViolation) i.next();
21              buf.append(PMD.EOL + rv.getFilename());
22              buf.append("\t" + Integer.toString(rv.getLine()));
23              buf.append("\t" + rv.getDescription());
24          }
25          for (Iterator i = report.errors(); i.hasNext();) {
26              Report.ProcessingError error = (Report.ProcessingError) i.next();
27              buf.append(PMD.EOL + error.getFile());
28              buf.append("\t-");
29              buf.append("\t" + error.getMsg());
30          }
31          return buf.toString();
32      }
33  }