package net.sourceforge.phpeclipse.xdebug.php.model;
+import net.sourceforge.phpeclipse.xdebug.core.Base64;
+import net.sourceforge.phpeclipse.xdebug.core.PHPDebugUtils;
+
+import org.eclipse.debug.core.DebugEvent;
+import org.eclipse.debug.core.DebugException;
import org.w3c.dom.Node;
public class XDebugStringValue extends XDebugAbstractValue {
- public XDebugStringValue(XDebugStackFrame variable, Node value) {
+ public XDebugStringValue(XDebugStackFrame variable, Node value) throws DebugException {
super(variable, value);
- }
- public void renderValueString(String data) {
- fValueString = "\"" + data + "\"";
+ String encoding = PHPDebugUtils.getAttributeValue(value, "encoding");
+ if (encoding.equals("base64")) {
+ rowValue = new String(Base64.decode(rowValue));
+ }
+
+ setValueString(rowValue);
}
- public boolean supportsValueModification() {
+ public boolean setValue(String expression) throws DebugException {
+ setValueString(expression);
+ fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CONTENT));
return true;
}
- public boolean verifyValue(String expression) {
+ public boolean supportsValueModification() {
return true;
}
}
\ No newline at end of file