View Javadoc
1 package net.sourceforge.pmd.cpd; 2 3 import net.sourceforge.pmd.PMD; 4 5 import java.util.Iterator; 6 7 /*** 8 * @author Philippe T'Seyen 9 */ 10 public class XMLRenderer implements Renderer 11 { 12 public String render(Iterator matches) 13 { 14 StringBuffer buffer = new StringBuffer(); 15 buffer.append("<?xml version=\"1.0\"?>"); 16 buffer.append("<pmd-cpd>"); 17 for (;matches.hasNext();) 18 { 19 Match match = (Match) matches.next(); 20 buffer.append("<duplication"); 21 buffer.append(" lines=\""); 22 buffer.append(match.getLineCount()); 23 buffer.append("\""); 24 buffer.append(" tokens=\""); 25 buffer.append(match.getTokenCount()); 26 buffer.append("\">"); 27 28 for (Iterator iterator = match.iterator(); iterator.hasNext();) 29 { 30 Mark mark = (Mark) iterator.next(); 31 buffer.append("<file"); 32 buffer.append(" line=\""); 33 buffer.append(mark.getBeginLine()); 34 buffer.append("\""); 35 buffer.append(" path=\""); 36 buffer.append(mark.getTokenSrcID()); 37 buffer.append("\"/>"); 38 } 39 String codeFragment = match.getSourceCodeSlice(); 40 if (codeFragment != null) 41 { 42 buffer.append("<codefragment><![CDATA[" + PMD.EOL + codeFragment + PMD.EOL + "]]></codefragment>"); 43 } 44 buffer.append("</duplication>"); 45 } 46 buffer.append("</pmd-cpd>"); 47 return buffer.toString(); 48 } 49 }

This page was automatically generated by Maven