1 55 56 package org.apache.bsf.debug.meta; 57 import java.io.*; 58 import java.net.*; 59 import org.apache.bsf.debug.*; 60 import org.apache.bsf.debug.jsdi.*; 61 import org.apache.bsf.debug.util.*; 62 63 public class JsObjectDispatcher extends Dispatcher { 64 public JsObjectDispatcher(SocketConnection con) { 65 super(con); 66 } 67 68 public void dispatch(ResultCell rcell) throws Exception { 69 String name, lang; 70 int depth, lineno, attributes, index; 71 boolean bool, all; 72 JsContext cx; 73 Object obj, val; 74 Class clazz; 75 JsObject self; 76 77 self = (JsObject) rcell.selfSkel; 78 79 switch (rcell.methodId) { 80 case DebugConstants.JO_GET_DEFAULT_VALUE : 81 name = (String ) rcell.readObject(); 82 clazz = Class.forName(name); 83 obj = self.getDefaultValue(clazz); 84 85 rcell.objectResult(obj); 86 break; 87 88 case DebugConstants.JO_DEFINE : 89 name = (String ) rcell.readObject(); 90 val = rcell.readObject(); 91 attributes = rcell.readInt(); 92 self.define(name, val, attributes); 93 rcell.voidResult(); 94 break; 95 96 case DebugConstants.JO_DELETE_BY_INDEX : 97 index = rcell.readInt(); 98 self.delete(index); 99 rcell.voidResult(); 100 break; 101 102 case DebugConstants.JO_DELETE_BY_NAME : 103 name = (String ) rcell.readObject(); 104 self.delete(name); 105 rcell.voidResult(); 106 break; 107 108 case DebugConstants.JO_PUT_BY_NAME : 109 name = (String ) rcell.readObject(); 110 val = rcell.readObject(); 111 self.put(name, val); 112 rcell.voidResult(); 113 break; 114 115 case DebugConstants.JO_PUT_BY_INDEX : 116 index = rcell.readInt(); 117 val = rcell.readObject(); 118 self.put(index, val); 119 rcell.voidResult(); 120 break; 121 122 case DebugConstants.JO_SET_PROTOTYPE : 123 obj = rcell.readObject(); 124 self.setScope((JsObject) obj); 125 rcell.voidResult(); 126 break; 127 128 case DebugConstants.JO_SET_SCOPE : 129 obj = rcell.readObject(); 130 self.setPrototype((JsObject) obj); 131 rcell.voidResult(); 132 break; 133 134 case DebugConstants.JO_GET_BY_NAME : 135 name = (String ) rcell.readObject(); 136 obj = self.get(name); 137 rcell.objectResult(obj); 138 break; 139 140 case DebugConstants.JO_GET_BY_INDEX : 141 index = rcell.readInt(); 142 obj = self.get(index); 143 rcell.objectResult(obj); 144 break; 145 146 case DebugConstants.JO_GET_CLASSNAME : 147 name = self.getClassName(); 148 rcell.objectResult(name); 149 break; 150 case DebugConstants.JO_GET_IDS : 151 all = rcell.readBoolean(); 152 obj = self.getIds(all); 153 rcell.objectResult(obj); 154 break; 155 156 case DebugConstants.JO_GET_PROTOTYPE : 157 obj = self.getPrototype(); 158 rcell.objectResult(obj); 159 break; 160 161 case DebugConstants.JO_GET_SCOPE : 162 obj = self.getScope(); 163 rcell.objectResult(obj); 164 break; 165 166 case DebugConstants.JO_HAS_BY_INDEX : 167 index = rcell.readInt(); 168 bool = self.has(index); 169 rcell.booleanResult(bool); 170 break; 171 case DebugConstants.JO_HAS_BY_NAME : 172 name = (String ) rcell.readObject(); 173 bool = self.has(name); 174 rcell.booleanResult(bool); 175 break; 176 177 case DebugConstants.JO_HAS_INSTANCE : 178 obj = rcell.readObject(); 179 bool = self.hasInstance((JsObject) obj); 180 rcell.booleanResult(bool); 181 break; 182 } 183 } 184 } 185 | Popular Tags |