CSVRenderer xref

View Javadoc
1 /**
2  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html 
3  */
4 package net.sourceforge.pmd.cpd;
5 
6 import net.sourceforge.pmd.PMD;
7 
8 import java.util.Iterator;
9 
10 
11 public class CSVRenderer implements Renderer {
12 
13 	private char separator;
14 	
15 	public static final char DEFAULT_SEPARATOR = ',';
16 	
17 	public CSVRenderer() {
18 		this(DEFAULT_SEPARATOR);
19 	}
20 	
21 	public CSVRenderer(char separatorChar) {
22 		separator = separatorChar;
23 	}
24 	
25 public String render(Iterator<Match> matches) {
26 StringBuilder rpt = new StringBuilder(1000);
27 rpt.append("lines").append(separator);
28 rpt.append("tokens").append(separator);
29 rpt.append("occurrences");
30 rpt.append(PMD.EOL);
31 
32 while (matches.hasNext()) {
33 Match match = matches.next();
34 rpt.append(match.getLineCount()).append(separator);
35 rpt.append(match.getTokenCount()).append(separator);
36 rpt.append(match.getMarkCount()).append(separator);
37 for (Iterator<TokenEntry> marks = match.iterator(); marks.hasNext();) {
38 TokenEntry mark = marks.next();
39 rpt.append(mark.getBeginLine()).append(separator);
40 rpt.append(mark.getTokenSrcID());
41 if (marks.hasNext()) {
42 rpt.append(separator);
43 }
44 }
45 rpt.append(PMD.EOL);
46 }
47 return rpt.toString();
48 }
49 }

AltStyle によって変換されたページ (->オリジナル) /