View Javadoc
1 package net.sourceforge.pmd.ant; 2 3 import net.sourceforge.pmd.renderers.CSVRenderer; 4 import net.sourceforge.pmd.renderers.HTMLRenderer; 5 import net.sourceforge.pmd.renderers.Renderer; 6 import net.sourceforge.pmd.renderers.TextRenderer; 7 import net.sourceforge.pmd.renderers.XMLRenderer; 8 import org.apache.tools.ant.BuildException; 9 10 import java.io.BufferedWriter; 11 import java.io.File; 12 import java.io.FileWriter; 13 import java.io.IOException; 14 import java.io.Writer; 15 16 public class Formatter { 17 18 private Renderer renderer; 19 private File toFile; 20 21 public void setType(String type) { 22 if (type.equals("xml")) { 23 renderer = new XMLRenderer(); 24 } else if (type.equals("html")) { 25 renderer = new HTMLRenderer(); 26 } else if (type.equals("csv")) { 27 renderer = new CSVRenderer(); 28 } else if (type.equals("text")) { 29 renderer = new TextRenderer(); 30 } else if (!type.equals("")) { 31 try { 32 renderer = (Renderer)Class.forName(type).newInstance(); 33 } catch (Exception e) { 34 e.printStackTrace(); 35 throw new BuildException("Unable to instantiate custom formatter: " + type); 36 } 37 } else { 38 throw new BuildException("Formatter type must be 'xml', 'text', 'html', 'csv', or a class name; you specified " + type); 39 } 40 } 41 42 public void setToFile(File toFile) { 43 this.toFile = toFile; 44 } 45 46 public Renderer getRenderer() { 47 return renderer; 48 } 49 50 public boolean isToFileNull() { 51 return toFile == null; 52 } 53 54 public Writer getToFileWriter(String baseDir) throws IOException { 55 if (!toFile.isAbsolute()) { 56 return new BufferedWriter(new FileWriter(new File(baseDir + System.getProperty("file.separator") + toFile.getPath()))); 57 } 58 return new BufferedWriter(new FileWriter(toFile)); 59 } 60 61 public String toString() { 62 return "file = " + toFile + "; renderer = " + renderer.getClass().getName(); 63 } 64 }

This page was automatically generated by Maven