keep a copy of my current dissertation example to investiaget further and another...
[IRC.git] / Robust / src / Benchmarks / oooJava / dissertation-example / TreeNode.java
1 public class TreeNode {
2   TreeNode left;
3   TreeNode right;
4   double nodeWeight;
5   boolean treeWeightComputed;
6   double treeWeight;
7   
8   /*
9   public TreeNode( TreeNode left, TreeNode right, double nodeWeight ) {
10     this.left = left;
11     this.right = right;
12     this.nodeWeight = nodeWeight;
13     treeWeightComputed = false;
14   }
15   */
16
17   public TreeNode( double nodeWeight ) {
18     //this( null, null, nodeWeight );
19     this.nodeWeight = nodeWeight;
20     treeWeightComputed = false;
21   }
22
23   /*
24   public void setLeft( TreeNode left ) {
25     this.left = left;
26   }
27
28   public void setRight( TreeNode right ) {
29     this.right = right;
30   }
31   */
32
33   public double computeTreeWeight() {
34     if( treeWeightComputed ) {
35       return treeWeight;
36     }
37     treeWeight = nodeWeight;
38     if( left != null ) {
39       treeWeight += left.computeTreeWeight();
40     }
41     if( right != null ) {
42       treeWeight += right.computeTreeWeight();
43     }
44     treeWeightComputed = true;
45     return treeWeight;
46   }
47
48   /*
49   public String toString() {
50     String s = toString( "", "" );
51     if( treeWeightComputed ) {
52       s += "tree weight: "+treeWeight;
53     }
54     return s;
55   }
56
57   private String toString( String tab, String prefix ) {
58     String s = tab+nodeWeight+" {\n";
59     if( left != null ) {
60       s += left.toString( tab+"  ", s );
61     } else {
62       s += tab+"  null\n";
63     }
64     if( right != null ) {
65       s += right.toString( tab+"  ", s );
66     } else {
67       s += tab+"  null\n";
68     }
69     return s+tab+"}\n";
70   }
71   */
72 }