/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package scriptbuilder.structures.events; import java.util.ArrayList; import scriptbuilder.structures.ELEMENT; import scriptbuilder.structures.I_XML_Writable; import scriptbuilder.structures.ScriptEvent; /** * Data model for a CMS evaluatiion event. A CMS event has a location, a set of * messages, an ID, and a type. It also is an evaluation event. * * @author Bryan McGuffin */ public class CMSEvaluationEvent extends ScriptEvent implements I_EvaluationEvent, I_XML_Writable { public CMSEvaluationEvent() { super(ScriptEventType.CMS_EVAL_EVENT); } public String location = ""; public ArrayList message = new ArrayList(); public String cmsID = ""; public String cmsType = ""; public ArrayList expectedAction = new ArrayList(); @Override public ArrayList getExpectedActions() { return expectedAction; } @Override public void addAction(String act) { expectedAction.add(act); } @Override public void updateAction(int index, String act) { expectedAction.set(index, act); } @Override public void removeAction(int index) { expectedAction.remove(index); } @Override public String toXML() { String output = openTag(ELEMENT.CMS_EVALUATION.tag+" cmsID=\""+cmsID+"\" type=\""+cmsType+"\""); output += openTag(ELEMENT.LOCATION.tag); output += location; output += closeTag(ELEMENT.LOCATION.tag); if(message.size() > 0) { output += openTag(ELEMENT.SAMPLE_MESSAGE.tag); for(String str: message) { output += openTag(ELEMENT.CMS_LINE.tag); output += str; output += closeTag(ELEMENT.CMS_LINE.tag); } output += closeTag(ELEMENT.SAMPLE_MESSAGE.tag); } output += closeTag(ELEMENT.CMS_EVALUATION.tag); return output; } @Override public String openTag(String s) { return "<" + s + ">\n"; } @Override public String closeTag(String s) { return "\n"; } @Override public String emptyTag(String s) { return "<" + s + "/>\n"; } }