public override bool tryInstantiateFromXml(XmlNode node)
{
bool b = true;
foreach (XmlNode attr in node)
{
switch (attr.Name)
{
case "name":
b = b && loadAllosteryString(attr.InnerText, setName);
break;
case "effector":
b = b && loadAllosteryString(attr.InnerText, setEffector);
break;
case "K":
b = b && loadAllosteryFloat(attr.InnerText, setK);
break;
case "EnergyCost":
b = b && loadAllosteryFloat(attr.InnerText, setEnergyCost);
break;
case "n":
setN(Convert.ToInt32(attr.InnerText));
break;
case "protein":
b = b && loadAllosteryString(attr.InnerText, setProtein);
break;
case "products":
b = b && loadAllosteryString(attr.InnerText, setProduct);
break;
}
}
//TODO method that checks IReaction's loading
// + method that checks child classes loading
//done for Allostery, should do the same for other reactions
b = b && hasValidData();
if(b)
{
Logger.Log ("Allostery::tryInstantiateFromXml success"
, Logger.Level.DEBUG);
return true;
}
else
{
Logger.Log ("Allostery::tryInstantiateFromXml failed"
, Logger.Level.ERROR);
return false;
}
}