Clover coverage report - PMD - 3.9
Coverage timestamp: Tue Dec 19 2006 09:38:44 EST
file stats: LOC: 52   Methods: 1
NCLOC: 27   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
TextPadRenderer.java 100% 100% 100% 100%
coverage
 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.IRuleViolation;
 7    import net.sourceforge.pmd.PMD;
 8    import net.sourceforge.pmd.Report;
 9   
 10    import java.io.IOException;
 11    import java.io.Writer;
 12    import java.util.Iterator;
 13   
 14    /**
 15    * <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>
 16    * <p/>
 17    * <P>Output lines are in the form:</P>
 18    * <p/>
 19    * <P><CODE>pathtojavafile(line#, NameOfRule):&nbsp; Specific rule violation message</CODE></P>
 20    * <p/>
 21    * <P>For example:</P>
 22    * <p/>
 23    * <P><CODE>D:\java\pmd\src\src\net\sourceforge\pmd\renderers\TextPadRenderer.java(24, AtLeastOneConstructor):&nbsp; Each class should declare at least one constructor
 24    * <br>D:\java\pmd\src\src\net\sourceforge\pmd\renderers\TextPadRenderer.java(26, VariableNamingConventionsRule):&nbsp; Variables should start with a lowercase character
 25    * <br>D:\java\pmd\src\src\net\sourceforge\pmd\renderers\TextPadRenderer.java(31, ShortVariable):&nbsp; Avoid variables with short names</CODE></P>
 26    *
 27    * @author Jeff Epstein, based upon <a href="EmacsRenderer.html">EmacsRenderer</a>, Tuesday, September 23, 2003
 28    */
 29    public class TextPadRenderer extends AbstractRenderer {
 30  5 public void render(Writer writer, Report report) throws IOException {
 31  5 StringBuffer buf = new StringBuffer();
 32  5 Iterator i;
 33  5 try {
 34  5 i = report.iterator();
 35    } catch (NullPointerException npx) {
 36  1 throw new NullPointerException("ERROR in " + this.getClass().getName() + ".render: Parameter report is null.");
 37    }
 38  4 while (i.hasNext()) {
 39  3 IRuleViolation rv = (IRuleViolation) i.next();
 40  3 buf.setLength(0);
 41    //Filename
 42  3 buf.append(PMD.EOL).append(rv.getFilename() + "(");
 43    //Line number
 44  3 buf.append(Integer.toString(rv.getBeginLine())).append(", ");
 45    //Name of violated rule
 46  3 buf.append(rv.getRule().getName()).append("): ");
 47    //Specific violation message
 48  3 buf.append(rv.getDescription());
 49  3 writer.write(buf.toString());
 50    }
 51    }
 52    }