package tmcsim.cadmodels; import java.io.Serializable; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; /** * IncidentInquiryTows extends from IncidentInquiryLogEntry to provide a model * object containing information used to display an assigned tow unit. * Data for a tow includes the Tow Company's name, the confidential and public * phone numbers, assigned beat, and current status.
*
* 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 IncidentInquiryTows extends IncidentInquiryLogEntry implements Serializable { /** * Enumeration with XML tag names. * @author Matthew Cechini */ private static enum XML_TAGS { /** Tow company's name. */ COMPANY ("COMPANY"), /** Tow company's confidential phone number. */ CONF_PHONE_NUM ("CONF_PHONE_NUM"), /** Tow company's public phone number. */ PUB_PHONE_NUM ("PUB_PHONE_NUM"), /** Tow vehicle's assigned beat. */ BEAT ("BEAT"), /** Tow vehicle's status. */ STATUS ("STATUS"); public String tag; private XML_TAGS(String t) { tag = t; } } /** Tow's company name */ public String towCompany; /** Tow's confidential phone number */ public String confPhoneNum; /** Tow's public phone number */ public String publicPhoneNum; /** Tow's assigned beat */ public String beat; /** Tow's status */ public String statusInfo; /** * Constructor. Initialize all Tow data to empty strings. * * @param newPosInfo String containing position info for this log entry */ public IncidentInquiryTows(String newPosInfo) { super(newPosInfo, "0000"); towCompany = ""; confPhoneNum = ""; publicPhoneNum = ""; beat = ""; statusInfo = ""; } /** * Constructor. Parse parameter node for Tow log entry data. * * @param theNode Node containing data for this Tow log entry */ public IncidentInquiryTows(Node theNode) { fromXML(theNode); } public void toXML(Element currElem) { Document theDoc = currElem.getOwnerDocument(); Element tempElem = null; tempElem = theDoc.createElement(XML_TAGS.COMPANY.tag); tempElem.appendChild(theDoc.createTextNode(towCompany)); currElem.appendChild(tempElem); tempElem = theDoc.createElement(XML_TAGS.CONF_PHONE_NUM.tag); tempElem.appendChild(theDoc.createTextNode(confPhoneNum)); currElem.appendChild(tempElem); tempElem = theDoc.createElement(XML_TAGS.PUB_PHONE_NUM.tag); tempElem.appendChild(theDoc.createTextNode(publicPhoneNum)); currElem.appendChild(tempElem); tempElem = theDoc.createElement(XML_TAGS.BEAT.tag); tempElem.appendChild(theDoc.createTextNode(beat)); currElem.appendChild(tempElem); tempElem = theDoc.createElement(XML_TAGS.STATUS.tag); tempElem.appendChild(theDoc.createTextNode(statusInfo)); currElem.appendChild(tempElem); super.toXML(currElem); } public void fromXML(Node modelNode) { Node childNode = null; childNode = modelNode.getFirstChild(); towCompany = childNode.getTextContent(); childNode = childNode.getNextSibling(); confPhoneNum = childNode.getTextContent(); childNode = childNode.getNextSibling(); publicPhoneNum = childNode.getTextContent(); childNode = childNode.getNextSibling(); beat = childNode.getTextContent(); childNode = childNode.getNextSibling(); statusInfo = childNode.getTextContent(); childNode = childNode.getNextSibling(); super.fromXML(childNode); } }