Clover coverage report - PMD - 3.3
Coverage timestamp: Thu Sep 15 2005 17:59:57 EDT
file stats: LOC: 157   Methods: 10
NCLOC: 49   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
ASTModel.java 0% 0% 0% 0%
coverage
 1    package net.sourceforge.pmd.util.viewer.model;
 2   
 3   
 4    import net.sourceforge.pmd.ast.SimpleNode;
 5   
 6    import javax.swing.event.TreeModelEvent;
 7    import javax.swing.event.TreeModelListener;
 8    import javax.swing.tree.TreeModel;
 9    import javax.swing.tree.TreePath;
 10    import java.util.Vector;
 11   
 12   
 13    /**
 14    * Model for the AST Panel Tree component
 15    *
 16    * @author Boris Gruschko ( boris at gruschko.org )
 17    * @version $Id: ASTModel.java,v 1.6 2005/08/23 17:17:49 tomcopeland Exp $
 18    */
 19   
 20    public class ASTModel
 21   
 22    implements TreeModel {
 23   
 24    private SimpleNode root;
 25   
 26    private Vector listeners = new Vector(1);
 27   
 28   
 29    /**
 30    * creates the tree model
 31    *
 32    * @param root tree's root
 33    */
 34   
 35  0 public ASTModel(SimpleNode root) {
 36   
 37  0 this.root = root;
 38   
 39    }
 40   
 41   
 42    /**
 43    * @see javax.swing.tree.TreeModel#getChild(java.lang.Object, int)
 44    */
 45   
 46  0 public Object getChild(Object parent, int index) {
 47   
 48  0 return ((SimpleNode) parent).jjtGetChild(index);
 49   
 50    }
 51   
 52   
 53    /**
 54    * @see javax.swing.tree.TreeModel#getChildCount(java.lang.Object)
 55    */
 56   
 57  0 public int getChildCount(Object parent) {
 58   
 59  0 return ((SimpleNode) parent).jjtGetNumChildren();
 60   
 61    }
 62   
 63   
 64    /**
 65    * @see javax.swing.tree.TreeModel#getIndexOfChild(java.lang.Object,
 66    * <p/>
 67    * java.lang.Object)
 68    */
 69   
 70  0 public int getIndexOfChild(Object parent, Object child) {
 71   
 72  0 SimpleNode node = ((SimpleNode) parent);
 73   
 74   
 75  0 for (int i = 0; i < node.jjtGetNumChildren(); i++)
 76   
 77  0 if (node.jjtGetChild(i).equals(child)) {
 78   
 79  0 return i;
 80   
 81    }
 82   
 83   
 84  0 return -1;
 85   
 86    }
 87   
 88   
 89    /**
 90    * @see javax.swing.tree.TreeModel#isLeaf(java.lang.Object)
 91    */
 92   
 93  0 public boolean isLeaf(Object node) {
 94   
 95  0 return ((SimpleNode) node).jjtGetNumChildren() == 0;
 96   
 97    }
 98   
 99   
 100    /**
 101    * @see javax.swing.tree.TreeModel#getRoot()
 102    */
 103   
 104  0 public Object getRoot() {
 105   
 106  0 return root;
 107   
 108    }
 109   
 110   
 111    /**
 112    * @see javax.swing.tree.TreeModel#valueForPathChanged(javax.swing.tree.TreePath,
 113    * <p/>
 114    * java.lang.Object)
 115    */
 116   
 117  0 public void valueForPathChanged(TreePath path, Object newValue) {
 118   
 119  0 throw new UnsupportedOperationException();
 120   
 121    }
 122   
 123   
 124    /**
 125    * @see javax.swing.tree.TreeModel#addTreeModelListener(javax.swing.event.TreeModelListener)
 126    */
 127   
 128  0 public void addTreeModelListener(TreeModelListener l) {
 129   
 130  0 listeners.add(l);
 131   
 132    }
 133   
 134   
 135    /**
 136    * @see javax.swing.tree.TreeModel#removeTreeModelListener(javax.swing.event.TreeModelListener)
 137    */
 138   
 139  0 public void removeTreeModelListener(TreeModelListener l) {
 140   
 141  0 listeners.remove(l);
 142   
 143    }
 144   
 145   
 146  0 protected void fireTreeModelEvent(TreeModelEvent e) {
 147   
 148  0 for (int i = 0; i < listeners.size(); i++) {
 149   
 150  0 ((TreeModelListener) listeners.elementAt(i)).treeNodesChanged(e);
 151   
 152    }
 153   
 154    }
 155   
 156    }
 157