/* * Copyright 2003 Federal Chancellery Austria * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ 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 DefaultHandler that uses a MOAEntityResolver and * a MOAErrorHandler. * * @author Patrick Peck * @version $Id$ */ public class MOADefaultHandler extends DefaultHandler { /** The EntityResolver to use. */ private EntityResolver entityResolver; /** The ErrorHandler to use. */ private ErrorHandler errorHandler; /** * Create a new MOADefaultHandler. */ public MOADefaultHandler() { entityResolver = new MOAEntityResolver(); errorHandler = new MOAErrorHandler(); } /** * Create a new MOADefaultHandler. * * @param entityResolver The EntityResolver to use for resolving * external entities. * @param errorHandler The ErrorHandler 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); } }