1 package csdl.jblanket.report.element; 2 3 import java.io.PrintWriter ; 4 import java.util.ArrayList ; 5 import java.util.Iterator ; 6 import java.util.List ; 7 8 28 public class MethodElement implements Comparable { 29 30 31 private String className; 32 33 private String methodName; 34 35 private List parameters; 36 37 43 public MethodElement(String className, String methodName) { 44 45 this.className = className; 46 this.methodName = methodName; 47 this.parameters = new ArrayList (); 48 } 49 50 55 public String getClassName() { 56 return this.className; 57 } 58 59 64 public String getMethodName() { 65 return this.methodName; 66 } 67 68 73 public void addParameter(ParameterElement parameter) { 74 this.parameters.add(parameter); 75 } 76 77 82 public String toString() { 83 84 StringBuffer buffer = new StringBuffer (); 85 buffer.append(" <Method class=\"" + this.className + "\""); 86 buffer.append(" method=\"" + this.methodName + "\""); 87 88 if (this.parameters.isEmpty()) { 89 buffer.append("/>"); 90 } 91 else { 92 buffer.append(">\n"); 93 for (Iterator i = this.parameters.iterator(); i.hasNext(); ) { 94 buffer.append("" + i.next() + "\n"); 95 } 96 buffer.append(" </Method>"); 97 } 98 99 return buffer.toString(); 100 } 101 102 107 public void write(PrintWriter writer) { 108 109 writer.write(" <Method class=\"" + this.className + "\""); 110 writer.write(" method=\"" + this.methodName + "\""); 111 112 if (this.parameters.isEmpty()) { 113 writer.write("/>"); 114 } 115 else { 116 writer.write(">\n"); 117 for (Iterator i = this.parameters.iterator(); i.hasNext(); ) { 118 writer.write("" + i.next() + "\n"); 119 } 120 writer.write(" </Method>"); 121 } 122 } 123 124 132 public int compareTo(Object obj) { 133 134 if (this.className.compareTo(((MethodElement) obj).getClassName()) != 0) { 135 return this.className.compareTo(((MethodElement) obj).getClassName()); 136 } 137 138 if (this.methodName.compareTo(((MethodElement) obj).getMethodName()) != 0) { 139 return this.methodName.compareTo(((MethodElement) obj).getMethodName()); 140 } 141 else { 142 StringBuffer thisString = new StringBuffer (); 143 StringBuffer objString = new StringBuffer (); 144 145 for (Iterator i = this.parameters.iterator(); i.hasNext(); ) { 146 thisString.append(((ParameterElement) i.next()).getType()); 147 } 148 149 for (Iterator i = ((MethodElement) obj).parameters.iterator(); i.hasNext(); ) { 150 objString.append(((ParameterElement) i.next()).getType()); 151 } 152 153 return thisString.toString().compareTo(objString.toString()); 154 } 155 } 156 } 157 | Popular Tags |