package gw.rating.worksheet.domain uses gw.xml.parser2.PLXMLNode uses java.lang.StringBuilder uses gw.rating.worksheet.WorksheetUtil class WorksheetObjectProperty extends WorksheetOperand { var _objectName : String as ObjectName var _objectType : String as ObjectType var _objectValue : Object as ObjectValue var _propertyName : String as PropertyName var _type : String as Type override function toXml() : PLXMLNode { var node = new PLXMLNode(WorksheetClass) node.setAttributeValue("ObjectName", _objectName) node.setAttributeValue("ObjectType", _objectType) node.setAttributeValue("ObjectValue", WorksheetUtil.serializeObject(_objectValue)) node.setAttributeValue("PropertyName", _propertyName) if(_type.HasContent){ node.setAttributeValue("Type", _type) } writeXml(node) return node } override function fromXml(node : PLXMLNode) { _objectName = node.getAttributeValue("ObjectName") _objectType = node.getAttributeValue("ObjectType") _objectValue = WorksheetUtil.deserializeObject(node.getAttributeValue("ObjectValue"), _objectType) _propertyName = node.getAttributeValue("PropertyName") _type = node.getAttributeValue("Type") readXml(node) } override function pseudoCode(buffer : StringBuilder, includeValues : boolean) { super.buildStringStart(buffer, includeValues) buffer.append("${VariableName}") if(includeValues){ buffer.append("<${Value}>") } super.buildStringEnd(buffer, includeValues) } public property get VariableName() : String{ return _objectName + "." + _propertyName } override property get WorksheetClass(): String { return "PropertyGet" } }