1 26 package org.hammurapi.inspectors.metrics; 27 28 import org.w3c.dom.Document ; 29 import org.w3c.dom.Element ; 30 31 43 public class CouplingMetric { 44 45 public float instability = 0; 46 47 public int afferentMethodCounter = 0; 48 public int efferentMethodCounter = 0; 49 50 public int afferentMethodCounterProjectInternal = 0; 51 public int efferentMethodCounterProjectInternal = 0; 52 53 public int efferentMethodUnresolvedCounter = 0; 54 public int reflectiveMethodCounter = 0; 55 56 public int afferentVariableCounter = 0; 57 public int efferentVariableCounter = 0; 58 59 public int reflectiveVariableCounter = 0; 60 61 public CouplingMetric(){ 62 super(); 63 } 64 65 public StringBuffer toXmlCore() { 66 StringBuffer sb = new StringBuffer (); 67 68 sb.append("<Instability>"); 69 sb.append(this.getInstability()); 70 sb.append("</Instability>"); 71 72 sb.append("<ReflectiveVariableCounter>"); 73 sb.append(reflectiveVariableCounter); 74 sb.append("</ReflectiveVariableCounter>"); 75 76 sb.append("<AfferentMethodCounterProjectInternal>"); 77 sb.append(afferentMethodCounterProjectInternal); 78 sb.append("</AfferentMethodCounterProjectInternal>"); 79 sb.append("<EfferentMethodCounterProjectInternal>"); 80 sb.append(efferentMethodCounterProjectInternal); 81 sb.append("</EfferentMethodCounterProjectInternal>"); 82 83 sb.append("<AfferentMethodCounter>"); 84 sb.append(afferentMethodCounter); 85 sb.append("</AfferentMethodCounter>"); 86 sb.append("<EfferentMethodCounter>"); 87 sb.append(efferentMethodCounter); 88 sb.append("</EfferentMethodCounter>"); 89 90 91 sb.append("<AfferentVariableCounter>"); 92 sb.append(afferentVariableCounter); 93 sb.append("</AfferentVariableCounter>"); 94 sb.append("<EfferentVariableCounter>"); 95 sb.append(efferentVariableCounter); 96 sb.append("</EfferentVariableCounter>"); 97 98 sb.append("<EfferentMethodUnresolvedCounter>"); 99 sb.append(efferentMethodUnresolvedCounter); 100 sb.append("</EfferentMethodUnresolvedCounter>"); 101 102 103 return sb; 104 } 105 106 107 public Element toDom(Document document, Element root){ 108 109 Element ret=document.createElement("AfferentMethodCounter"); 110 ret.setAttribute("number", String.valueOf( afferentVariableCounter )); 111 root.appendChild(ret); 112 113 Element ret2=document.createElement("EfferentMethodCounter"); 114 ret2.setAttribute("number", String.valueOf( efferentVariableCounter )); 115 root.appendChild(ret2); 116 117 return root; 118 } 119 120 123 public float getInstability() { 124 float instability = 0; 126 float denominator = (this.efferentMethodCounter + this.afferentMethodCounter ); 127 if( denominator != 0 ) 129 { instability = this.efferentMethodCounter / denominator; } 130 return instability; 132 } 133 134 } 135 | Popular Tags |