package com.AsamiOffice.xml.sax;
import java.io.IOException;
import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler;
/**
* AbstractFilterHandler
*
* @since Feb. 20, 2001
* @version Apr. 19, 2001
* @author ASAMI, Tomoharu (asami@zeomtech.com)
*/
public abstract class AbstractFilterHandler implements IFilterHandler {
private EntityResolver resolver_;
private DTDHandler dtd_;
private ContentHandler content_;
private ErrorHandler error_;
protected AbstractFilterHandler() {
DefaultHandler handler = new DefaultHandler();
resolver_ = handler;
dtd_ = handler;
content_ = handler;
error_ = handler;
}
public void setFilterHandler(IFilterHandler handler) {
setEntityResolver(handler);
setDTDHandler(handler);
setContentHandler(handler);
setErrorHandler(handler);
}
public void setEntityResolver(EntityResolver resolver) {
resolver_ = resolver;
}
public EntityResolver getEntityResolver() {
return (resolver_);
}
public void setDTDHandler(DTDHandler dtd) {
dtd_ = dtd;
}
public DTDHandler getDTDHandler() {
return (dtd_);
}
public void setContentHandler(ContentHandler content) {
content_ = content;
}
public ContentHandler getContentHandler() {
return (content_);
}
public void setErrorHandler(ErrorHandler error) {
error_ = error;
}
public ErrorHandler getErrorHandler() {
return (error_);
}
public InputSource resolveEntity(String publicId, String systemId)
throws SAXException, IOException {
return (resolver_.resolveEntity(publicId, systemId));
}
public void notationDecl(String name, String publicId, String systemId)
throws SAXException {
dtd_.notationDecl(name, publicId, systemId);
}
public void unparsedEntityDecl(
String name,
String publicId,
String systemId,
String notationName
) throws SAXException {
dtd_.unparsedEntityDecl(name, publicId, systemId, notationName);
}
public void setDocumentLocator(Locator locator) {
content_.setDocumentLocator(locator);
}
public void startDocument() throws SAXException {
content_.startDocument();
}
public void endDocument() throws SAXException {
content_.endDocument();
}
public void startPrefixMapping(String prefix, String uri)
throws SAXException {
content_.startPrefixMapping(prefix, uri);
}
public void endPrefixMapping(String prefix) throws SAXException {
content_.endPrefixMapping(prefix);
}
public void startElement(
String uri,
String localName,
String qName,
Attributes attributes
) throws SAXException {
content_.startElement(uri, localName, qName, attributes);
}
public void endElement(String uri, String localName, String qName)
throws SAXException {
content_.endElement(uri, localName, qName);
}
public void characters(char ch[], int start, int length)
throws SAXException {
content_.characters(ch, start, length);
}
public void ignorableWhitespace(char ch[], int start, int length)
throws SAXException {
content_.ignorableWhitespace(ch, start, length);
}
public void processingInstruction(String target, String data)
throws SAXException {
content_.processingInstruction(target, data);
}
public void skippedEntity(String name) throws SAXException {
content_.skippedEntity(name);
}
public void warning(SAXParseException e) throws SAXException {
error_.warning(e);
}
public void error(SAXParseException e) throws SAXException {
error_.error(e);
}
public void fatalError(SAXParseException e) throws SAXException {
error_.fatalError(e);
}
}