/* * 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.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 { public static final int VALUETYPE_UNKNOWN = -1; public static final int VALUETYPE_UNINITIALIZED = 0; public static final int VALUETYPE_STRING = 1; public static final int VALUETYPE_INT = 4; public static final int VALUETYPE_FLOAT = 5; public static final int VALUETYPE_BOOLEAN = 6; public static final int VALUETYPE_ARRAY = 8; public static final int VALUETYPE_HASH = 9; public static final int VALUETYPE_OBJECT = 10; protected XDebugVariable fVariable; private IVariable[] fVariables; protected String fValueString; protected int fType; protected String fTypeName; public XDebugAbstractValue(XDebugVariable variable,Node varNode,String typeName) { super((XDebugTarget) variable.getDebugTarget()); fVariable = variable; if (varNode==null){ try { System.out.println(variable.getName()+"=null"); } catch (DebugException e) { // TODO Auto-generated catch block e.printStackTrace(); } return; } setType(typeName); NodeList property = varNode.getChildNodes(); if (variable.hasChildren()) { renderValueString(""+property.getLength()); fVariables = new IVariable[property.getLength()]; for (int i = 0; i0); } public boolean isArray() { return ((fType & VALUETYPE_ARRAY) > 0); } public abstract void setType(String typeName); public abstract void renderValueString(String data); public abstract boolean verifyValue(String expression); public boolean setValue(String expression) { if (!verifyValue(expression)) return false; if(fTarget.setVarValue(fVariable.getFullName(),expression)) { renderValueString(expression); return true; } return false; } public boolean supportsValueModification() { return false; } }