package com.plectix.simulator.io.xml; import java.util.List; import java.util.Map; import javax.xml.stream.XMLStreamException; import com.plectix.simulator.staticanalysis.abstracting.AbstractAgent; import com.plectix.simulator.staticanalysis.localviews.LocalViewsMain; import com.plectix.simulator.util.NameDictionary; /*package*/ class LocalViewsXMLWriter { private final LocalViewsMain localViews; public LocalViewsXMLWriter(LocalViewsMain localViews) { this.localViews = localViews; } public final void write(OurXMLWriter streamWriter) throws XMLStreamException { streamWriter.writeStartElement("Reachables"); streamWriter.writeAttribute("Name", "Views"); for (Map.Entry<String, List<AbstractAgent>> entry : localViews.getLocalViews().entrySet()) { String agentName = entry.getKey(); if (NameDictionary.isDefaultAgentName(agentName)) continue; List<AbstractAgent> list = entry.getValue(); streamWriter.writeStartElement("Set"); streamWriter.writeAttribute("Agent", agentName); for (AbstractAgent agent : list) { streamWriter.writeStartElement("Entry"); streamWriter.writeAttribute("Data", agent.toStringForXML()); streamWriter.writeEndElement(); } streamWriter.writeEndElement(); } streamWriter.writeEndElement(); } }