X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/php/model/XDebugAbstractValue.java b/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/php/model/XDebugAbstractValue.java index b52ea6f..3912916 100644 --- a/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/php/model/XDebugAbstractValue.java +++ b/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/php/model/XDebugAbstractValue.java @@ -5,15 +5,15 @@ */ package net.sourceforge.phpeclipse.xdebug.php.model; -import net.sourceforge.phpeclipse.xdebug.core.Base64; +import java.util.Arrays; +import java.util.Iterator; +import java.util.Vector; 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 @@ -21,109 +21,131 @@ import org.w3c.dom.NodeList; * 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; - protected String fTypeName; - private boolean fhasChanged; - - public XDebugAbstractValue(XDebugStackFrame frame, Node varNode) { - super((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); + return (fVariables.size() != 0); } - - public abstract void renderValueString(String data); - - public abstract boolean verifyValue(String expression); - - public boolean setValue(String expression) { - if (!verifyValue(expression)) { - return false; - } - - renderValueString(expression); - fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CONTENT)); - + + public boolean setValue(String expression) throws DebugException { + return true; + }; + + protected boolean verifyValue(String expression) { return true; } - - public boolean supportsValueModification() { + + protected boolean supportsValueModification() { return false; } -} \ No newline at end of file + + protected void setValueString(String valueString) { + fValueString = valueString; + } + + protected void setChildren(IVariable[] newChildren) { + fVariables = new Vector (Arrays.asList(newChildren)); + } + + public void setReferenceTypeName (String referenceTypeName) { + fTypeName = referenceTypeName; + } +}