Clover coverage report - PMD - 3.3
Coverage timestamp: Thu Sep 15 2005 17:59:57 EDT
file stats: LOC: 85   Methods: 7
NCLOC: 71   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
Formatter.java 65% 67.7% 57.1% 65.5%
coverage coverage
 1    /**
 2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
 3    */
 4    package net.sourceforge.pmd.ant;
 5   
 6    import net.sourceforge.pmd.renderers.CSVRenderer;
 7    import net.sourceforge.pmd.renderers.HTMLRenderer;
 8    import net.sourceforge.pmd.renderers.PapariTextRenderer;
 9    import net.sourceforge.pmd.renderers.Renderer;
 10    import net.sourceforge.pmd.renderers.SummaryHTMLRenderer;
 11    import net.sourceforge.pmd.renderers.TextRenderer;
 12    import net.sourceforge.pmd.renderers.VBHTMLRenderer;
 13    import net.sourceforge.pmd.renderers.XMLRenderer;
 14    import net.sourceforge.pmd.renderers.YAHTMLRenderer;
 15    import org.apache.tools.ant.BuildException;
 16   
 17    import java.io.BufferedWriter;
 18    import java.io.File;
 19    import java.io.FileWriter;
 20    import java.io.IOException;
 21    import java.io.Writer;
 22   
 23    public class Formatter {
 24   
 25    private File toFile;
 26    private String linkPrefix;
 27    private String type;
 28   
 29  5 public void setType(String type) {
 30  5 this.type = type;
 31    }
 32   
 33  0 public void setLinkPrefix(String linkPrefix) {
 34  0 this.linkPrefix = linkPrefix;
 35    }
 36   
 37  1 public void setToFile(File toFile) {
 38  1 this.toFile = toFile;
 39    }
 40   
 41  5 public Renderer getRenderer() {
 42  5 Renderer renderer;
 43  5 if (type.equals("xml")) {
 44  1 renderer = new XMLRenderer();
 45  4 } else if (type.equals("html")) {
 46  1 renderer = new HTMLRenderer(linkPrefix);
 47  3 } else if (type.equals("summaryhtml")) {
 48  0 renderer = new SummaryHTMLRenderer();
 49  3 } else if (type.equals("papari")) {
 50  0 renderer = new PapariTextRenderer();
 51  3 } else if (type.equals("csv")) {
 52  1 renderer = new CSVRenderer();
 53  2 } else if (type.equals("text")) {
 54  1 renderer = new TextRenderer();
 55  1 } else if (type.equals("vbhtml")) {
 56  0 renderer = new VBHTMLRenderer();
 57  1 } else if (type.equals("yahtml")) {
 58  0 renderer = new YAHTMLRenderer();
 59  1 } else if (!type.equals("")) {
 60  1 try {
 61  1 renderer = (Renderer) Class.forName(type).newInstance();
 62    } catch (Exception e) {
 63  1 throw new BuildException("Unable to instantiate custom formatter: " + type);
 64    }
 65    } else {
 66  0 throw new BuildException("Formatter type must be 'xml', 'text', 'html', 'summaryhtml', 'papari', 'csv', 'vbhtml', 'yahtml', or a class name; you specified " + type);
 67    }
 68  4 return renderer;
 69    }
 70   
 71  4 public boolean isToFileNull() {
 72  4 return toFile == null;
 73    }
 74   
 75  0 public Writer getToFileWriter(String baseDir) throws IOException {
 76  0 if (!toFile.isAbsolute()) {
 77  0 return new BufferedWriter(new FileWriter(new File(baseDir + System.getProperty("file.separator") + toFile.getPath())));
 78    }
 79  0 return new BufferedWriter(new FileWriter(toFile));
 80    }
 81   
 82  0 public String toString() {
 83  0 return "file = " + toFile + "; renderer = " + type;
 84    }
 85    }