|
|||||||||||||||||||
Source file | Conditionals | Statements | Methods | TOTAL | |||||||||||||||
TextPadRenderer.java | 100% | 100% | 100% | 100% |
|
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.IRuleViolation; | |
9 | ||
10 | import java.util.Iterator; | |
11 | ||
12 | /** | |
13 | * <P>A Renderer for running PMD via a TextPad 'tool'. <a href="http://www.textpad.com">TextPad</a> is a text editor by Helios Software Solutions.</P> | |
14 | * <p/> | |
15 | * <P>Output lines are in the form:</P> | |
16 | * <p/> | |
17 | * <P><CODE>pathtojavafile(line#, NameOfRule): Specific rule violation message</CODE></P> | |
18 | * <p/> | |
19 | * <P>For example:</P> | |
20 | * <p/> | |
21 | * <P><CODE>D:\java\pmd\src\src\net\sourceforge\pmd\renderers\TextPadRenderer.java(24, AtLeastOneConstructor): Each class should declare at least one constructor | |
22 | * <br>D:\java\pmd\src\src\net\sourceforge\pmd\renderers\TextPadRenderer.java(26, VariableNamingConventionsRule): Variables should start with a lowercase character | |
23 | * <br>D:\java\pmd\src\src\net\sourceforge\pmd\renderers\TextPadRenderer.java(31, ShortVariable): Avoid variables with short names</CODE></P> | |
24 | * | |
25 | * @author Jeff Epstein, based upon <a href="EmacsRenderer.html">EmacsRenderer</a>, Tuesday, September 23, 2003 | |
26 | */ | |
27 | public class TextPadRenderer extends AbstractRenderer implements Renderer { | |
28 | 2 | public String render(Report report) { |
29 | 2 | StringBuffer buf = new StringBuffer(); |
30 | 2 | Iterator i; |
31 | 2 | try { |
32 | 2 | i = report.iterator(); |
33 | } catch (NullPointerException npx) { | |
34 | 1 | throw new NullPointerException("ERROR in " + this.getClass().getName() + ".render: Parameter report is null."); |
35 | } | |
36 | 1 | while (i.hasNext()) { |
37 | 1 | IRuleViolation rv = (IRuleViolation) i.next(); |
38 | //Filename | |
39 | 1 | buf.append(PMD.EOL).append(rv.getFilename() + "("); |
40 | //Line number | |
41 | 1 | buf.append(Integer.toString(rv.getBeginLine())).append(", "); |
42 | //Name of violated rule | |
43 | 1 | buf.append(rv.getRule().getName()).append("): "); |
44 | //Specific violation message | |
45 | 1 | buf.append(rv.getDescription()); |
46 | } | |
47 | 1 | return buf.toString(); |
48 | } | |
49 | } |
|