package org.geogebra.web.html5.io; import org.geogebra.common.io.MyXMLHandler; import org.geogebra.common.io.MyXMLio; import org.geogebra.common.kernel.Construction; import org.geogebra.common.kernel.Kernel; /** * Web implementation of XML parser * */ public class MyXMLioW extends MyXMLio { private XmlParser xmlParser; /** * @param kernel * kernel * @param cons * construction */ public MyXMLioW(Kernel kernel, Construction cons) { super(kernel, cons); } @Override protected void createXMLParser() { xmlParser = new GwtXmlParser(); } @Override protected void resetXMLParser() { // nothing to do in web } @Override protected void parseXML(MyXMLHandler xmlHandler, XMLStream stream) throws Exception { xmlParser.parse(xmlHandler, ((XMLStreamStringW) stream).getString()); } protected static class XMLStreamStringW implements XMLStream { private String str; public XMLStreamStringW(String str) { this.str = str; } public String getString() { return str; } } @Override protected XMLStream createXMLStreamString(String str) { return new XMLStreamStringW(str); } @Override public final void readZipFromString(byte[] zipFile) throws Exception { // not implemented in web } }