/* * 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; import scriptbuilder.structures.XMLWriter; /** * 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 = XMLWriter.openTag(ELEMENT.CMS_EVALUATION.tag + " cmsID=\"" + cmsID + "\" type=\"" + cmsType + "\""); output += XMLWriter.simpleTag(location, ELEMENT.LOCATION); if (message.size() > 0) { output += XMLWriter.openTag(ELEMENT.SAMPLE_MESSAGE.tag); for (String str : message) { if (str == null) { str = ""; } output += XMLWriter.simpleTag(str, ELEMENT.CMS_LINE); } output += XMLWriter.closeTag(ELEMENT.SAMPLE_MESSAGE.tag); } output += XMLWriter.closeTag(ELEMENT.CMS_EVALUATION.tag); return output; } }