View Javadoc

1   /**
2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3    */
4   package net.sourceforge.pmd.stat;
5   
6   import java.util.Random;
7   
8   import net.sourceforge.pmd.lang.ast.Node;
9   
10  /**
11   * @author David Dixon-Peugh
12   *         Aug 8, 2002 DataPoint.java
13   */
14  public class DataPoint implements Comparable<DataPoint> {
15  
16      private Node node;
17      private int random;
18      private double score;
19      private String message;
20  
21      /**
22       * Constructor for DataPoint.
23       */
24      public DataPoint() {
25          super();
26          // Random number is so that the TreeSet doesn't
27          // whack things with the same score.
28          Random rand = new Random();
29          random = rand.nextInt(11061973);
30      }
31  
32      public int compareTo(DataPoint rhs) {
33          Double lhsScore = Double.valueOf(score);
34          Double rhsScore = Double.valueOf(rhs.getScore());
35          if (lhsScore.doubleValue() != rhsScore.doubleValue()) {
36              return lhsScore.compareTo(rhsScore);
37          }
38          return random - rhs.random;
39      }
40  
41      public Node getNode() {
42          return node;
43      }
44  
45      public void setNode(Node node) {
46          this.node = node;
47      }
48  
49      public String getMessage() {
50          return message;
51      }
52  
53      public void setMessage(String message) {
54          this.message = message;
55      }
56  
57      public double getScore() {
58          return score;
59      }
60  
61      public void setScore(double score) {
62          this.score = score;
63      }
64  }