package at.gv.egovernment.moa.util; import java.io.IOException; import org.xml.sax.EntityResolver; import org.xml.sax.ErrorHandler; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import org.xml.sax.helpers.DefaultHandler; /** * A <code>DefaultHandler</code> that uses a <code>MOAEntityResolver</code> and * a <code>MOAErrorHandler</code>. * * @author Patrick Peck * @version $Id$ */ public class MOADefaultHandler extends DefaultHandler { /** The <code>EntityResolver</code> to use. */ private EntityResolver entityResolver; /** The <code>ErrorHandler</code> to use. */ private ErrorHandler errorHandler; /** * Create a new <code>MOADefaultHandler</code>. */ public MOADefaultHandler() { entityResolver = new MOAEntityResolver(); errorHandler = new MOAErrorHandler(); } /** * Create a new <code>MOADefaultHandler</code>. * * @param entityResolver The <code>EntityResolver</code> to use for resolving * external entities. * @param errorHandler The <code>ErrorHandler</code> to use for reporting * parsing errors. */ public MOADefaultHandler( EntityResolver entityResolver, ErrorHandler errorHandler) { this.entityResolver = entityResolver; this.errorHandler = errorHandler; } /** * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String, java.lang.String) */ public InputSource resolveEntity(String publicId, String systemId) throws SAXException { try { return entityResolver.resolveEntity(publicId, systemId); } catch (IOException e) { return null; } } /** * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException) */ public void warning(SAXParseException exception) throws SAXException { errorHandler.warning(exception); } /** * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException) */ public void error(SAXParseException exception) throws SAXException { errorHandler.error(exception); } /** * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException) */ public void fatalError(SAXParseException exception) throws SAXException { errorHandler.fatalError(exception); } }