Clover coverage report - PMD - 3.7
Coverage timestamp: Wed May 31 2006 09:25:59 EDT
file stats: LOC: 129   Methods: 22
NCLOC: 95   Classes: 2
 
 Source file Conditionals Statements Methods TOTAL
Match.java 100% 90.9% 86.4% 89.8%
coverage coverage
 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    import java.util.Set;
 10    import java.util.TreeSet;
 11   
 12    public class Match implements Comparable {
 13   
 14    private int tokenCount;
 15    private int lineCount;
 16    private Set markSet = new TreeSet();
 17    private TokenEntry[] marks = new TokenEntry[2];
 18    private String code;
 19    private MatchCode mc;
 20   
 21    public static class MatchCode {
 22   
 23    private int first;
 24    private int second;
 25   
 26  2 public MatchCode() {
 27    }
 28   
 29  4 public MatchCode(TokenEntry m1, TokenEntry m2) {
 30  4 first = m1.getIndex();
 31  4 second = m2.getIndex();
 32    }
 33   
 34  10 public int hashCode() {
 35  10 return first + 37 * second;
 36    }
 37   
 38  3 public boolean equals(Object other) {
 39  3 MatchCode mc = (MatchCode) other;
 40  3 return mc.first == first && mc.second == second;
 41    }
 42   
 43  3 public void setFirst(int first) {
 44  3 this.first = first;
 45    }
 46   
 47  3 public void setSecond(int second) {
 48  3 this.second = second;
 49    }
 50   
 51    }
 52   
 53  10 public Match(int tokenCount, TokenEntry first, TokenEntry second) {
 54  10 markSet.add(first);
 55  10 markSet.add(second);
 56  10 marks[0] = first;
 57  10 marks[1] = second;
 58  10 this.tokenCount = tokenCount;
 59    }
 60   
 61  0 public int getMarkCount() {
 62  0 return markSet.size();
 63    }
 64   
 65  9 public void setLineCount(int lineCount) {
 66  9 this.lineCount = lineCount;
 67    }
 68   
 69  6 public int getLineCount() {
 70  6 return this.lineCount;
 71    }
 72   
 73  27 public int getTokenCount() {
 74  27 return this.tokenCount;
 75    }
 76   
 77  5 public String getSourceCodeSlice() {
 78  5 return this.code;
 79    }
 80   
 81  6 public void setSourceCodeSlice(String code) {
 82  6 this.code = code;
 83    }
 84   
 85  8 public Iterator iterator() {
 86  8 return markSet.iterator();
 87    }
 88   
 89  4 public int compareTo(Object o) {
 90  4 Match other = (Match) o;
 91  4 int diff = other.getTokenCount() - getTokenCount();
 92  4 if (diff != 0) {
 93  1 return diff;
 94    }
 95  3 return other.getFirstMark().getIndex() - getFirstMark().getIndex();
 96    }
 97   
 98  9 public TokenEntry getFirstMark() {
 99  9 return marks[0];
 100    }
 101   
 102  1 public TokenEntry getSecondMark() {
 103  1 return marks[1];
 104    }
 105   
 106  0 public String toString() {
 107  0 return "Match: " + PMD.EOL + "tokenCount = " + tokenCount + PMD.EOL + "marks = " + markSet.size();
 108    }
 109   
 110  9 public Set getMarkSet() {
 111  9 return markSet;
 112    }
 113   
 114  7 public MatchCode getMatchCode() {
 115  7 if (mc == null) {
 116  4 mc = new MatchCode(marks[0], marks[1]);
 117    }
 118  7 return mc;
 119    }
 120   
 121  1 public int getEndIndex() {
 122  1 return marks[1].getIndex() + getTokenCount() - 1;
 123    }
 124   
 125  0 public void setMarkSet(Set markSet) {
 126  0 this.markSet = markSet;
 127    }
 128   
 129    }