java/alt2xml-lib-input/src/cz/frantovo/alt2xml/in/Alt2ContentHandler.java
author František Kučera <franta-hg@frantovo.cz>
Sat, 06 Sep 2014 17:17:37 +0200
changeset 75 ed9ec17aa67f
child 78 afcb4ccc6594
permissions -rw-r--r--
lib-input: Alt2ContentHandler - extended wrapper
franta-hg@75
     1
/**
franta-hg@75
     2
 * Alt2XML
franta-hg@75
     3
 * Copyright © 2014 František Kučera (frantovo.cz)
franta-hg@75
     4
 *
franta-hg@75
     5
 * This program is free software: you can redistribute it and/or modify
franta-hg@75
     6
 * it under the terms of the GNU General Public License as published by
franta-hg@75
     7
 * the Free Software Foundation, either version 3 of the License, or
franta-hg@75
     8
 * (at your option) any later version.
franta-hg@75
     9
 *
franta-hg@75
    10
 * This program is distributed in the hope that it will be useful,
franta-hg@75
    11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
franta-hg@75
    12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
franta-hg@75
    13
 * GNU General Public License for more details.
franta-hg@75
    14
 *
franta-hg@75
    15
 * You should have received a copy of the GNU General Public License
franta-hg@75
    16
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
franta-hg@75
    17
 */
franta-hg@75
    18
package cz.frantovo.alt2xml.in;
franta-hg@75
    19
franta-hg@75
    20
import org.xml.sax.Attributes;
franta-hg@75
    21
import org.xml.sax.ContentHandler;
franta-hg@75
    22
import org.xml.sax.Locator;
franta-hg@75
    23
import org.xml.sax.SAXException;
franta-hg@75
    24
franta-hg@75
    25
/**
franta-hg@75
    26
 * Improved wrapper for SAX ContentHandler.
franta-hg@75
    27
 *
franta-hg@75
    28
 * @author Ing. František Kučera (frantovo.cz)
franta-hg@75
    29
 */
franta-hg@75
    30
public class Alt2ContentHandler implements ContentHandler {
franta-hg@75
    31
franta-hg@75
    32
	private final ContentHandler handler;
franta-hg@75
    33
franta-hg@75
    34
	public Alt2ContentHandler(ContentHandler handler) {
franta-hg@75
    35
		this.handler = handler;
franta-hg@75
    36
	}
franta-hg@75
    37
franta-hg@75
    38
	public void lineBreak() throws SAXException {
franta-hg@75
    39
		// TODO: ignorableWhitespace()
franta-hg@75
    40
		characters("\n");
franta-hg@75
    41
	}
franta-hg@75
    42
franta-hg@75
    43
	public void indentation(int level) throws SAXException {
franta-hg@75
    44
		for (int i = 0; i < level; i++) {
franta-hg@75
    45
			// TODO: ignorableWhitespace()
franta-hg@75
    46
			characters("\t");
franta-hg@75
    47
		}
franta-hg@75
    48
	}
franta-hg@75
    49
franta-hg@75
    50
	public void characters(String text) throws SAXException {
franta-hg@75
    51
		handler.characters(text.toCharArray(), 0, text.length());
franta-hg@75
    52
	}
franta-hg@75
    53
franta-hg@75
    54
	public void ignorableWhitespace(String text) throws SAXException {
franta-hg@75
    55
		handler.ignorableWhitespace(text.toCharArray(), 0, text.length());
franta-hg@75
    56
	}
franta-hg@75
    57
franta-hg@75
    58
	// ---------------------------------------------------------------------------------------------
franta-hg@75
    59
	@Override
franta-hg@75
    60
	public void setDocumentLocator(Locator locator) {
franta-hg@75
    61
		handler.setDocumentLocator(locator);
franta-hg@75
    62
	}
franta-hg@75
    63
franta-hg@75
    64
	@Override
franta-hg@75
    65
	public void startDocument() throws SAXException {
franta-hg@75
    66
		handler.startDocument();
franta-hg@75
    67
	}
franta-hg@75
    68
franta-hg@75
    69
	@Override
franta-hg@75
    70
	public void endDocument() throws SAXException {
franta-hg@75
    71
		handler.endDocument();
franta-hg@75
    72
	}
franta-hg@75
    73
franta-hg@75
    74
	@Override
franta-hg@75
    75
	public void startPrefixMapping(String prefix, String uri) throws SAXException {
franta-hg@75
    76
		handler.startPrefixMapping(prefix, uri);
franta-hg@75
    77
	}
franta-hg@75
    78
franta-hg@75
    79
	@Override
franta-hg@75
    80
	public void endPrefixMapping(String prefix) throws SAXException {
franta-hg@75
    81
		handler.endPrefixMapping(prefix);
franta-hg@75
    82
	}
franta-hg@75
    83
franta-hg@75
    84
	@Override
franta-hg@75
    85
	public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
franta-hg@75
    86
		handler.startElement(uri, localName, qName, atts);
franta-hg@75
    87
	}
franta-hg@75
    88
franta-hg@75
    89
	@Override
franta-hg@75
    90
	public void endElement(String uri, String localName, String qName) throws SAXException {
franta-hg@75
    91
		handler.endElement(uri, localName, qName);
franta-hg@75
    92
	}
franta-hg@75
    93
franta-hg@75
    94
	@Override
franta-hg@75
    95
	public void characters(char[] ch, int start, int length) throws SAXException {
franta-hg@75
    96
		handler.characters(ch, start, length);
franta-hg@75
    97
	}
franta-hg@75
    98
franta-hg@75
    99
	@Override
franta-hg@75
   100
	public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException {
franta-hg@75
   101
		handler.ignorableWhitespace(ch, start, length);
franta-hg@75
   102
	}
franta-hg@75
   103
franta-hg@75
   104
	@Override
franta-hg@75
   105
	public void processingInstruction(String target, String data) throws SAXException {
franta-hg@75
   106
		handler.processingInstruction(target, data);
franta-hg@75
   107
	}
franta-hg@75
   108
franta-hg@75
   109
	@Override
franta-hg@75
   110
	public void skippedEntity(String name) throws SAXException {
franta-hg@75
   111
		handler.skippedEntity(name);
franta-hg@75
   112
	}
franta-hg@75
   113
}