Clover coverage report - PMD - 3.9
Coverage timestamp: Tue Dec 19 2006 09:38:44 EST
file stats: LOC: 119   Methods: 13
NCLOC: 74   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
AbstractReportNode.java 18.8% 45.2% 69.2% 43.3%
coverage coverage
 1    package net.sourceforge.pmd.dfa.report;
 2   
 3    import java.util.ArrayList;
 4    import java.util.List;
 5   
 6    public abstract class AbstractReportNode {
 7    private List childNodes = new ArrayList();
 8    private AbstractReportNode parentNode = null;
 9   
 10    /*
 11    * Number of all RuleViolations down to this node. At the moment it will
 12    * only be calculated by running the ReportHTMLPrintVisitor.
 13    * */
 14    private int numberOfViolations;
 15   
 16    /**
 17    * Should compare to nodes of the tree.
 18    */
 19    public abstract boolean equalsNode(AbstractReportNode arg0);
 20   
 21    /**
 22    * @return null If there isn't any child.
 23    */
 24  0 public AbstractReportNode getFirstChild() {
 25  0 if (this.isLeaf()) {
 26  0 return null;
 27    }
 28  0 return (AbstractReportNode) this.childNodes.get(0);
 29    }
 30   
 31    /**
 32    * @return null If there isn't any sibling.
 33    */
 34  0 public AbstractReportNode getNextSibling() {
 35  0 if (this.parentNode == null) {
 36  0 return null;
 37    }
 38  0 int index = this.parentNode.getChildIndex(this);
 39  0 if (index < 0) {
 40  0 return null;
 41    }
 42  0 if (index >= this.parentNode.childNodes.size() - 1) {
 43  0 return null;
 44    }
 45  0 return (AbstractReportNode) this.parentNode.childNodes.get(index + 1);
 46    }
 47   
 48    /**
 49    * @return index The index of the x-th child of his parent.
 50    */
 51  0 private int getChildIndex(AbstractReportNode child) {
 52  0 for (int i = 0; i < this.childNodes.size(); i++) {
 53  0 if (this.childNodes.get(i).equals(child)) {
 54  0 return i;
 55    }
 56    }
 57  0 return -1;
 58    }
 59   
 60    /**
 61    * Adds the child in front of any other childs.
 62    */
 63  1303 public void addFirst(AbstractReportNode child) {
 64  1303 this.childNodes.add(0, child);
 65  1303 child.parentNode = this;
 66    }
 67   
 68    /**
 69    * Adds the child at the end.
 70    */
 71  2868 public void add(AbstractReportNode child) {
 72  2868 this.childNodes.add(child);
 73  2868 child.parentNode = this;
 74    }
 75   
 76  8 public void addNumberOfViolation(int number) {
 77  8 this.numberOfViolations += number;
 78    }
 79   
 80    /**
 81    * @return The number of all violations downside the node.
 82    */
 83  14 public int getNumberOfViolations() {
 84  14 return numberOfViolations;
 85    }
 86   
 87    // ----------------------------------------------------------------------------
 88    // visitor methods
 89  12 public void childrenAccept(ReportVisitor visitor) {
 90  12 for (int i = 0; i < childNodes.size(); i++) {
 91  8 AbstractReportNode node = (AbstractReportNode) childNodes.get(i);
 92  8 node.accept(visitor);
 93    }
 94    }
 95   
 96  12 public void accept(ReportVisitor visitor) {
 97  12 visitor.visit(this);
 98    }
 99   
 100  57441 public AbstractReportNode getChildAt(int arg0) {
 101  57441 if (arg0 >= 0 && arg0 <= this.childNodes.size() - 1) {
 102  57441 return (AbstractReportNode) this.childNodes.get(arg0);
 103    }
 104  0 return null;
 105    }
 106   
 107  61612 public int getChildCount() {
 108  61612 return this.childNodes.size();
 109    }
 110   
 111  38 public AbstractReportNode getParent() {
 112  38 return this.parentNode;
 113    }
 114   
 115  0 public boolean isLeaf() {
 116  0 return this.childNodes.isEmpty();
 117    }
 118   
 119    }