--- /dev/null
+/**\r
+ * Wrapper for SlcValue object\r
+ */\r
+qx.Class.define("org.argeo.slc.ria.execution.Value", {\r
+ \r
+ extend : qx.core.Object,\r
+ \r
+ properties : {\r
+ /**\r
+ * Name of this Execution Flow \r
+ */\r
+ key : {\r
+ check : "String",\r
+ init : ""\r
+ },\r
+ specType : {\r
+ check : "String",\r
+ init : "" \r
+ },\r
+ specSubType : {\r
+ check : "String"\r
+ },\r
+ parameter : {\r
+ check : "Boolean"\r
+ },\r
+ frozen : {\r
+ check : "Boolean"\r
+ },\r
+ hidden : {\r
+ check : "Boolean"\r
+ },\r
+ value : {\r
+ \r
+ },\r
+ /**\r
+ * Castor representation of the object \r
+ */\r
+ xmlSpecNode : {\r
+ apply : "_applyXmlSpecNode"\r
+ }\r
+ },\r
+ \r
+ statics : {\r
+ XPATH_KEY : "@key"\r
+ },\r
+ \r
+ construct : function(){\r
+ this.base(arguments);\r
+ },\r
+ \r
+ members : { \r
+ /**\r
+ * Init the object from an XML representation\r
+ * @param xmlNode {Node} Castor representation of this object\r
+ */\r
+ _applyXmlSpecNode : function(xmlNode){\r
+ this.setKey(org.argeo.ria.util.Element.getSingleNodeText(xmlNode, "@key"));\r
+ var childs = xmlNode.childNodes;\r
+ for(var i=0;i<childs.length;i++){\r
+ var child = childs[i];\r
+ if(child.nodeType != Node.ELEMENT_NODE) continue;\r
+ if(child.nodeName == "slc:primitive-spec-attribute"){\r
+ this.setSpecType("primitive");\r
+ this.setSpecSubType(org.argeo.ria.util.Element.getSingleNodeText(child, "@type"));\r
+ if(org.argeo.ria.util.Element.getSingleNodeText(child, "slc:value")){\r
+ this.setValue(org.argeo.ria.util.Element.getSingleNodeText(child, "slc:value"));\r
+ }\r
+ }else if(child.nodeName == "slc:ref-spec-attribute"){\r
+ this.setSpecType("ref");\r
+ this.setSpecSubType(org.argeo.ria.util.Element.getSingleNodeText(child, "@targetClassName"));\r
+ }\r
+ this.set({\r
+ parameter : (org.argeo.ria.util.Element.getSingleNodeText(child, "@isParameter")=="true"?true:false),\r
+ frozen : (org.argeo.ria.util.Element.getSingleNodeText(child, "@isFrozen")=="true"?true:false),\r
+ hidden : (org.argeo.ria.util.Element.getSingleNodeText(child, "@isHidden")=="true"?true:false)\r
+ }); \r
+ }\r
+ },\r
+ \r
+ _applyXmlValue : function(xmlNode){\r
+ var xpath;\r
+ if(this.getSpecType() == "primitive"){\r
+ xpath = "slc:primitive-value/slc:value";\r
+ }else if(this.getSpecType() == "ref"){\r
+ xpath = "slc:ref-value/slc:label";\r
+ }\r
+ this.setValue(org.argeo.ria.util.Element.getSingleNodeText(xmlNode, xpath));\r
+ }\r
+ } \r
+ \r
+});
\ No newline at end of file