1 22 23 package org.aspectj.debugger.gui; 24 25 import org.aspectj.debugger.base.*; 26 27 import java.util.Iterator ; 28 import java.util.List ; 29 import com.sun.jdi.ArrayReference; 30 import com.sun.jdi.ClassNotLoadedException; 31 import com.sun.jdi.Value; 32 33 public class AJArrayValueNode extends AJValueNode { 34 public AJArrayValueNode(AJValueGetter getter) { 35 super(getter); 36 setType(AJIcons.ARRAY_ICON); 37 } 38 39 public boolean isArray() { return true; } 40 41 public void showKids() { 42 if (getChildCount() == 0) 43 showMembers(); 44 } 45 46 public void hideKids() { 47 48 } 49 50 private void showMembers() { 51 hideMembers(); 52 try { 53 ArrayReference array = (ArrayReference) g().getValue(); 54 for (int i = 0; i < array.length(); i++) { 55 AJValueNode valueNode = AJValueNodeFactory.make(array, i); 56 this.add(valueNode); 57 } 58 } catch (Exception e) { Util.ex(e); } } 59 60 private void hideMembers() { 61 62 } 63 64 private String getArrayString() { 66 int i = 0; 67 String str = ""; 68 while (i < children.size() - 1) { 69 str += ((AJValueNode) children.get(i++)).getValueString() + ", "; 70 } 71 if (i >= 0) { 72 str += ((AJValueNode) children.get(i)).getValueString(); 73 } 74 return str; 75 76 } 77 78 public String getValueString() { 79 String type = "no class loaded"; 80 try { 81 type = g().getTypeName(); 82 } catch (ClassNotLoadedException e) {} 83 return type; 84 } 87 } | Popular Tags |