package tmcsim.cadmodels; import java.io.Serializable; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; /** * IncidentInquiryWitnesses extends from IncidentInquiryLogEntry * to provide a model object containing information used to display a Witness * entry on the IncidentInquiry CAD screen. Data for a witness includes the * reporting party's name, phone number, and address.
*
* This element parses and creates the following XML schema in its toXML() and * fromXML() methods. The ROOT element is the parameter for those methods.
*
*
* /
*

*
*
*
* * @author Matthew Cechini * @version */ @SuppressWarnings("serial") public class IncidentInquiryWitnesses extends IncidentInquiryLogEntry implements Serializable { /** * Enumeration with XML tag names. * @author Matthew Cechini */ private static enum XML_TAGS { /** Witness' name. */ REPORT_PARTY ("REPORT_PARTY"), /** Witness' phone number. */ PHONE_NUM ("PHONE_NUM"), /** Witness' address. */ ADDRESS ("ADDRESS"); public String tag; private XML_TAGS(String t) { tag = t; } } /** Witness' name. */ public String reportingParty; /** Witness' phone number. */ public String telephoneNum; /** Witness' address. */ public String address; /** * Constructor. Initialize all Witness data to empty strings. * * @param newPosInfo String containing position info for this log entry */ public IncidentInquiryWitnesses(String newPosInfo) { super(newPosInfo, "0000"); reportingParty = ""; telephoneNum = ""; address = ""; } /** * Constructor. Set local data and base data from parameters. * * @param newPositionInfo Position info for this log entry. * @param name Witness' name * @param num Witness' phone number * @param add Witness' address * @param timestamp Timestamp for this log entry */ public IncidentInquiryWitnesses(String newPositionInfo, String name, String num, String add, String timeStamp) { super(newPositionInfo, timeStamp); reportingParty = name; telephoneNum = num; address = add; } /** * Constructor. Parse parameter node for Witness log entry data. * * @param theNode Node containing data for this Witness log entry */ public IncidentInquiryWitnesses(Node theNode) { fromXML(theNode); } public void toXML(Element currElem) { Document theDoc = currElem.getOwnerDocument(); Element tempElem = null; tempElem = theDoc.createElement(XML_TAGS.REPORT_PARTY.tag); tempElem.appendChild(theDoc.createTextNode(reportingParty)); currElem.appendChild(tempElem); tempElem = theDoc.createElement(XML_TAGS.PHONE_NUM.tag); tempElem.appendChild(theDoc.createTextNode(telephoneNum)); currElem.appendChild(tempElem); tempElem = theDoc.createElement(XML_TAGS.ADDRESS.tag); tempElem.appendChild(theDoc.createTextNode(address)); currElem.appendChild(tempElem); super.toXML(currElem); } public void fromXML(Node modelNode) { Node childNode = null; childNode = modelNode.getFirstChild(); reportingParty = childNode.getTextContent(); childNode = childNode.getNextSibling(); telephoneNum = childNode.getTextContent(); childNode = childNode.getNextSibling(); address = childNode.getTextContent(); childNode = childNode.getNextSibling(); super.fromXML(childNode); } }