private static string generateInternalName(LinkedList<ExpressionModule> modules)
{
Logger.Log("Device::generateInternalName(modules="+Logger.ToString(modules)+")", Logger.Level.INFO);
string name = "";
//TODO extract this
string separator = "+";
if(isValid(modules))
{
LinkedList<ExpressionModule> ems = new LinkedList<ExpressionModule>(modules);
while(1 != ems.Count)
{
string toAppend = ems.First.Value.getInternalName() + separator;
name += toAppend;
ems.RemoveFirst();
}
name += ems.First.Value.getInternalName();
return name;
}
else
{
Logger.Log("Device::generateInternalName got invalid expression modules sequence", Logger.Level.WARN);
return "";
}
}