/* Created on 23.11.2004 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ 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.eclipse.debug.core.model.IValue; import org.eclipse.debug.core.model.IVariable; import org.w3c.dom.Node; import org.w3c.dom.NodeList; /** * @author Axel * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public abstract class XDebugAbstractValue extends XDebugElement implements IValue { private IVariable[] fVariables; protected String fValueString; private String fTypeName; private boolean fhasChanged; public XDebugAbstractValue(XDebugStackFrame frame, Node varNode) throws DebugException { super(frame == null ? null : (XDebugTarget) frame.getDebugTarget()); fTypeName = PHPDebugUtils.getAttributeValue(varNode,"type"); int NumChildren = 0; if (!PHPDebugUtils.getAttributeValue(varNode,"numchildren").equals("")) { NumChildren = Integer.parseInt(PHPDebugUtils.getAttributeValue(varNode, "numchildren")); } if (NumChildren > 0) { NodeList property = varNode.getChildNodes(); renderValueString(""+property.getLength()); fVariables = new IVariable[property.getLength()]; for (int i = 0; i 0); } public abstract void renderValueString(String data) throws DebugException; public abstract boolean verifyValue(String expression); public boolean setValue(String expression) throws DebugException { if (!verifyValue(expression)) { return false; } renderValueString(expression); fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CONTENT)); return true; } public boolean supportsValueModification() { return false; } }