mrglavas 2005/06/20 11:36:05 Added: java/src/org/apache/xerces/util ErrorHandlerProxy.java Log: Merging in ErrorHandlerProxy from the JAXP 1.3 RI. Revision Changes Path 1.1 xml-xerces/java/src/org/apache/xerces/util/ErrorHandlerProxy.java Index: ErrorHandlerProxy.java =================================================================== /* * Copyright 2005 The Apache Software Foundation. * * 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 org.apache.xerces.util; import org.apache.xerces.xni.parser.XMLErrorHandler; import org.xml.sax.ErrorHandler; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; /** * Wraps [EMAIL PROTECTED] XMLErrorHandler} and make it look like a SAX [EMAIL PROTECTED] ErrorHandler}. * * <p> * The derived class should override the [EMAIL PROTECTED] #getErrorHandler()} method * so that it will return the correct [EMAIL PROTECTED] XMLErrorHandler} instance. * This method will be called whenever an error/warning is found. * * <p> * Experience shows that it is better to store the actual * [EMAIL PROTECTED] XMLErrorHandler} in one place and looks up that variable, * rather than copying it into every component that needs an error handler * and update all of them whenever it is changed, IMO. * * @author Kohsuke Kawaguchi ([EMAIL PROTECTED]) */ public abstract class ErrorHandlerProxy implements ErrorHandler { public void error(SAXParseException e) throws SAXException { XMLErrorHandler eh = getErrorHandler(); if(eh instanceof ErrorHandlerWrapper) { ((ErrorHandlerWrapper)eh).fErrorHandler.error(e); } eh.error("","",ErrorHandlerWrapper.createXMLParseException(e)); // if an XNIException is thrown, just let it go. // REVISIT: is this OK? or should we try to wrap it into SAXException? } public void fatalError(SAXParseException e) throws SAXException { XMLErrorHandler eh = getErrorHandler(); if(eh instanceof ErrorHandlerWrapper) { ((ErrorHandlerWrapper)eh).fErrorHandler.fatalError(e); } eh.fatalError("","",ErrorHandlerWrapper.createXMLParseException(e)); } public void warning(SAXParseException e) throws SAXException { XMLErrorHandler eh = getErrorHandler(); if(eh instanceof ErrorHandlerWrapper) { ((ErrorHandlerWrapper)eh).fErrorHandler.warning(e); } eh.warning("","",ErrorHandlerWrapper.createXMLParseException(e)); } protected abstract XMLErrorHandler getErrorHandler(); }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
