franta-hg@75: /** franta-hg@75: * Alt2XML franta-hg@75: * Copyright © 2014 František Kučera (frantovo.cz) franta-hg@75: * franta-hg@75: * This program is free software: you can redistribute it and/or modify franta-hg@75: * it under the terms of the GNU General Public License as published by franta-hg@111: * the Free Software Foundation, version 3 of the License. franta-hg@75: * franta-hg@75: * This program is distributed in the hope that it will be useful, franta-hg@75: * but WITHOUT ANY WARRANTY; without even the implied warranty of franta-hg@75: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the franta-hg@75: * GNU General Public License for more details. franta-hg@75: * franta-hg@75: * You should have received a copy of the GNU General Public License franta-hg@75: * along with this program. If not, see . franta-hg@75: */ franta-hg@75: package cz.frantovo.alt2xml.in; franta-hg@75: franta-hg@75: import org.xml.sax.Attributes; franta-hg@75: import org.xml.sax.ContentHandler; franta-hg@75: import org.xml.sax.Locator; franta-hg@75: import org.xml.sax.SAXException; franta-hg@75: franta-hg@75: /** franta-hg@75: * Improved wrapper for SAX ContentHandler. franta-hg@75: * franta-hg@75: * @author Ing. František Kučera (frantovo.cz) franta-hg@75: */ franta-hg@75: public class Alt2ContentHandler implements ContentHandler { franta-hg@75: franta-hg@75: private final ContentHandler handler; franta-hg@75: franta-hg@75: public Alt2ContentHandler(ContentHandler handler) { franta-hg@75: this.handler = handler; franta-hg@75: } franta-hg@75: franta-hg@75: public void lineBreak() throws SAXException { franta-hg@75: // TODO: ignorableWhitespace() franta-hg@75: characters("\n"); franta-hg@75: } franta-hg@75: franta-hg@75: public void indentation(int level) throws SAXException { franta-hg@75: for (int i = 0; i < level; i++) { franta-hg@75: // TODO: ignorableWhitespace() franta-hg@75: characters("\t"); franta-hg@75: } franta-hg@75: } franta-hg@75: franta-hg@75: public void characters(String text) throws SAXException { franta-hg@75: handler.characters(text.toCharArray(), 0, text.length()); franta-hg@75: } franta-hg@75: franta-hg@75: public void ignorableWhitespace(String text) throws SAXException { franta-hg@75: handler.ignorableWhitespace(text.toCharArray(), 0, text.length()); franta-hg@75: } franta-hg@75: franta-hg@78: public void textElement(String text, String uri, String localName, String qName, Attributes atts) throws SAXException { franta-hg@78: startElement(uri, localName, qName, atts); franta-hg@78: characters(text); franta-hg@78: endElement(uri, localName, qName); franta-hg@78: } franta-hg@78: franta-hg@75: // --------------------------------------------------------------------------------------------- franta-hg@75: @Override franta-hg@75: public void setDocumentLocator(Locator locator) { franta-hg@75: handler.setDocumentLocator(locator); franta-hg@75: } franta-hg@75: franta-hg@75: @Override franta-hg@75: public void startDocument() throws SAXException { franta-hg@75: handler.startDocument(); franta-hg@75: } franta-hg@75: franta-hg@75: @Override franta-hg@75: public void endDocument() throws SAXException { franta-hg@75: handler.endDocument(); franta-hg@75: } franta-hg@75: franta-hg@75: @Override franta-hg@75: public void startPrefixMapping(String prefix, String uri) throws SAXException { franta-hg@75: handler.startPrefixMapping(prefix, uri); franta-hg@75: } franta-hg@75: franta-hg@75: @Override franta-hg@75: public void endPrefixMapping(String prefix) throws SAXException { franta-hg@75: handler.endPrefixMapping(prefix); franta-hg@75: } franta-hg@75: franta-hg@75: @Override franta-hg@75: public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException { franta-hg@75: handler.startElement(uri, localName, qName, atts); franta-hg@75: } franta-hg@75: franta-hg@75: @Override franta-hg@75: public void endElement(String uri, String localName, String qName) throws SAXException { franta-hg@75: handler.endElement(uri, localName, qName); franta-hg@75: } franta-hg@75: franta-hg@75: @Override franta-hg@75: public void characters(char[] ch, int start, int length) throws SAXException { franta-hg@75: handler.characters(ch, start, length); franta-hg@75: } franta-hg@75: franta-hg@75: @Override franta-hg@75: public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException { franta-hg@75: handler.ignorableWhitespace(ch, start, length); franta-hg@75: } franta-hg@75: franta-hg@75: @Override franta-hg@75: public void processingInstruction(String target, String data) throws SAXException { franta-hg@75: handler.processingInstruction(target, data); franta-hg@75: } franta-hg@75: franta-hg@75: @Override franta-hg@75: public void skippedEntity(String name) throws SAXException { franta-hg@75: handler.skippedEntity(name); franta-hg@75: } franta-hg@75: }